File: changelog.html

package info (click to toggle)
bochs 1.4pre2-1
  • links: PTS
  • area: main
  • in suites: woody
  • size: 7,656 kB
  • ctags: 10,322
  • sloc: cpp: 66,880; ansic: 19,674; sh: 2,951; makefile: 2,183; asm: 2,110; yacc: 723; lex: 171; csh: 147; perl: 35
file content (1134 lines) | stat: -rw-r--r-- 52,612 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
<HTML>

<HEAD>
  <META NAME="copyright" CONTENT="Copyright 2001 by MandrakeSoft S.A.">
  <META NAME="Author" CONTENT="Kevin Lawton">
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=iso-8859-1">
  <TITLE>Change Log</TITLE>
</HEAD>

<BODY TEXT="#000000" BGCOLOR="#ececec"  LINK="#3333cc" VLINK="#666666">

<CENTER><H1>ChangeLog</H1></CENTER>
<HR>

<a name="v1.3">
<h2>
<a href="http://prdownloads.sourceforge.net/bochs/bochs-1.3.tar.gz">Version 1.3</a> (December 10, 2001)
</h2>

<ul>
<li> networking works on Windows and Linux platforms
<li> emulated cdrom can now read from ISO image files, on any platform.
<li> new PIT model by Greg Alexander which is much more complete than the
  old one.  The new PIT is used by default, but you can switch back to 
  the old one if you configure with --disable-new-pit.
  (PIT = 8254 programmable interrupt timer)
<li> new configuration menus by Bryce Denney, which allow you to change any
  bochsrc option using text menus, then save the configuration into
  a new bochsrc file for later use.  You can disable the new code using
  configure --disable-control-panel.  Also you can use the command
  line arguments -nocp or -nocontrolpanel.  Also, there is a new
  "Config" button on the GUI that allows limited changes to the 
  configuration at runtime, such as changing the floppy disk.
<li> add docbook documentation directory in the sources under doc/docbook.
  The transition from HTML to docbook documentation is still in progress.
<li> Add new log action "ask", as shown in these example bochsrc lines:
    panic: action=ask
    error: action=ask
  When an event occurs which is set to "ask", you get a beep and message
  on the text terminal that asks what you want to do.  Choices are: continue,
  continue and disable future messages from this device, quit immediately,
  or segfault (where abort() function is available).  If compiled with
  --enable-debugger, you can also choose to enter the debugger.
<li> Parallel port emulation cleaned up by Volker Ruppert.  See .bochsrc for
  syntax of new parport1 line in bochsrc.
<li> PCI support improved by Volker Ruppert, including BIOS changes.  Still
  not complete.
<li> floppy controller returns a proper error response if you try to write
  a read-only disk image.  For systems such as DOS that actually use the BIOS
  services, it was also necessary to add code in int13_diskette_function to
  recognize a write-protected error and return the correct error status code
  (AH=3, Carry Set).
<li> the ROM BIOS now prints panic messages to the console.  Thanks to Cliff
  Hones for his console display code.
<li> the ROM BIOS detects nonbootable disks (Barry Allard), and prints a message
  on the console.  Barry Allard's patch who helped with checking the boot
  signature.
<li> LBA support added for hard disks.  (Not tested very much.)
<li>X Windows specific:
<ul>
<li> commit patch from David Haslam <dch@sirius.clara.co.uk>
  [ <a href="http://bochs.sourceforge.net/cgi-bin/topper.pl?sftype=patch&id=455763">#455763</a> ] Cursor trail with DOS Edit/Minix vi
<li> error for missing fonts now points to the documentation
<li> new option --enable-idle-hack, by Roland Mainz, which makes Bochs more
  friendly toward other processes when its CPU is idle.  Presently, 
  this option is specific to X windows.
</ul>

<li>Win32 specific:
<ul>
<li> now Windows 95/98/ME can read the physical cdrom (Don Becker)
<li> The default configuration for Win32 VC++, given in .conf.win32-vcpp,
  now enables the NE2000 and renames all .cc files to .cpp.  This keeps VC++
  happy but may make it hard to use CVS.
<li> The default configuration for Cygwin, given in .conf.win32-cygwin, now
  enables cdrom and SB16.
<li> See "new docs" on the web site for compile instructions for VC++ and Cygwin.
<li> The sources include a VC++ workspace, in addition to the old "nmake"
  makefile.
<li> ethernet support (emulated NE2000 card), coded by Don Becker.  This
  implementation requires a library called WinPCap, which you can 
  download from http://netgroup-serv.polito.it/winpcap.
<li> new utility called niclist.exe which lists the ID number of all your network
  cards (well probably you just have one).  The ID be used when setting up your
  .bochsrc.
<li> patch [ <a href="http://bochs.sourceforge.net/cgi-bin/topper.pl?sftype=patch&id=466403">#466403</a> ] make text colors more accurate.  The author did not leave
  his/her name.
<li> fix GUI bug [ <a href="http://bochs.sourceforge.net/cgi-bin/topper.pl?sftype=bug&id=452159">#452159</a> ] win32: mouse stuck if bochs win partly off screen
  Now we center the mouse periodically, whether or not the mouse has
  wandered outside of the window or not.
<li> event handler recognizes the extended keycode flag
<li> fixes for raw floppy and floppy disk images (Don Becker)
</ul>

<li>Linux specific:
<ul>
<li> Ethernet (emulated NE2000 card) now works in Linux!  Contributed by
  splite@purdue.edu.  This has been tested using host OS kernel 2.2.14, and
  works with telnet, ftp, irc, lynx, etc.  Because it is a packet filter
  solution, you aren't able to talk to the host machine, only to other 
  machines on the network.  
<li> The default configuration for Linux, given in .conf.linux, now enables
  the NE2000 model.
<li> RPM build process configures with --prefix=/usr so that everything is
  installed in /usr/bochs instead of /usr/local/bochs.
<li> DLX Linux disk image is now installed so that only root can write it, to
  avoid security problems.  When you run the bochs-dlx script, it creates a
  local copy in your home directory and then runs it.
<li> code that determines the capacity of a cdrom now works for both ATAPI
  and SCSI drives (splite@purdue.edu)
<li> applied patch from bochs@sigint.cs.purdue.edu.  The comments are:
  > The Linux 2.4.5 CD-ROM driver sends a READ_DISC_INFO command which caused
  > an "unrecognized ATAPI command" panic.  Looks like READ_DISC_INFO is only
  > recognized by CD-R and CD-RW drives, so I ignore it for now.
</ul>

<li>Amiga MorphOS specific:
<ul>
<li> Bochs now compiles and works on Amiga MorphOS.  Configure with
  --with-amigaos.  For AmigaOS only, see .bochsrc for use of fullscreeen and
  screenmode options.  The Amiga MorphsOS is written and maintained by
  Nicholai Benalal <nicholai@chello.se>.
<li> raw cdrom supported if you configure with --enable-cdrom
</ul>

<li>BeOS specific:
<ul>
<li> Bochs compiles and works on BeOS.  Configure with --with-beos.
  Bernd Thorsten Korz <bernd.korz@insidebeos.de> maintains the BeOS port.
<li> raw cdrom supported if you configure with --enable-cdrom
</ul>

<li>MacOS X specific:
<ul>
<li> Bochs now compiles and works on MacOS X.  Configure with --with-carbon.
  Emmanuel Mailliard <e.rsz@libertysurf.fr> ported the Macintosh code to the
  Carbon API.
<li> The MacOS X application is built using (gasp) mkdir, copy, and rez.
  Surely this is not the right way, but it works.
<li> raw cdrom supported if you configure with --enable-cdrom
</ul>

<li>RFB mode:
<ul>
<li> apply patch.rfb-mouse by MURANAKA Masaki (monaka@users.sf.net)
  see this source forge bug [ <a href="http://bochs.sourceforge.net/cgi-bin/topper.pl?sftype=bug&id=457968">#457968</a> ] Strange mouse motion on RFB
<li> add a retry loop in RFB code, so that if port 5900 is not available
  it can try 5901, etc.
</ul>

<li>Bochs Debugger:
<ul>
<li> do a vga update whenever you print a debugger prompt.
<li> added debugger command "info fpu" that prints the FPU registers.  If you
  do "info all" you get cpu and fpu registers.
<li> added debugger command "info ne2k" which prints all the registers
  of the NE2000 model
<li> add ability to do register tracing and flag tracing (Dave Poirier).
  Try the trace-reg-on and trace-reg-off commands.
<li> instruction trace now includes time ticks
<li> fixed problems in which bochs compiled with debugger measured time 
  differently from bochs compiled without debugger.  Also when instruction
  trace was enabled, breakpoints and control-C did not work.  Also,
  breakpoints at the beginning of an interrupt handler did not work.
</ul>

<li> add dependencies to makefiles
<li> logging code moved into a separate file, logio.cc
<li> new option --enable-slowdown-timer, by Greg Alexander, which kicks in if
  Bochs simulation time starts to run faster than real time.  This helps to
  keep the Bochs clock in sync with the real clock when the CPU is mostly
  idle.
<li> new option --enable-iodebug, by Dave Poirier, which creates an I/O
  interface to the debugger.  This lets you write software to be emulated
  in Bochs which can turn on instruction, register, or memory tracing
  using I/O accesses.
<li> improved detection of readline in configure script
<li> configure substitutes the version number into many files, instead of
  using sed in the makefile.  There are still a few uses of sed remaining.
<li> you can now use environment variables in bochsrc values.  For example,
  diskd: file="$BOCHS_IMG/diskd.img", cyl=615, heads=6, spt=17
<li> configure with --prefix=PATH works now
<li> running configure from a different directory works now, thanks to 
  a patch from Edouard G. Parmelan
<li> fix [ <a href="http://bochs.sourceforge.net/cgi-bin/topper.pl?sftype=bug&id=433759">#433759</a> ] virtual address checks can overflow.
  > Bochs has been crashing in some cases when you try to access data which
  > overlaps the segment limit, when the segment limit is near the 32-bit
  > boundary.  The example that came up a few times is reading/writing 4 bytes
  > starting at 0xffffffff when the segment limit was 0xffffffff.  The
  > condition used to compare offset+length-1 with the limit, but
  > offset+length-1 was overflowing so the comparison went wrong.
<li> cmpxchg8b patch from Michael Hohmuth <hohmuth@innocent.com>
<li> apply patch from Thomas Fitzsimmons <fitzsim@cygnus.com> to fix compile
  problems when BX_SUPPORT_PAGING and BX_USE_TLB are turned off
<li> fix bug introduced in 1.2.1 which caused spurious exceptions.
  See patch <a href="http://bochs.sourceforge.net/cgi-bin/topper.pl?sftype=patch&id=439314">#439314</a>, Exception 1 (debug) on HALT, from
  thomas.petazzoni@meridon.com.
<li> add panic in ctrl_xfer32.cc where the IRET32 implementation is broken.
  This only happens if you are NOT in vm8086 mode or protected mode.
  The intent is to warn people when they are getting bad emulation, and
  encourage people to report how they got to that point.
<li> apply patch from Santiago Bazerque.  See this bug report:
  [ <a href="http://bochs.sourceforge.net/cgi-bin/topper.pl?sftype=bug&id=463018">#463018</a> ] retf not removing parameters sometimes
<li> fix bug [ <a href="http://bochs.sourceforge.net/cgi-bin/topper.pl?sftype=bug&id=461730">#461730</a> ] IRETD causes problems if NT-flag is set
  reported by Peter Lammich.
<li> apply patch [ <a href="http://bochs.sourceforge.net/cgi-bin/topper.pl?sftype=patch&id=455014">#455014</a> ] CR0 bug in 80486, described as:
  > In the register CR0, when the bit PM is enabled, the bit 4 is 0
  > when should be 1.
<li> apply patch from Mike Rieker <mrieker@o3one.org> associated with this bug
  report: [ <a href="http://bochs.sourceforge.net/cgi-bin/topper.pl?sftype=bug&id=480422">#480422</a> ] gdt 'accessed' bit
<li> in task_switch when it tried to ensure that the old TSS was paged in,
  it actually used the new TSS address, fixed.
<li> updated the instrumentation code, and added a working example.  To try
  it, configure --enable-instrumentation=instrument/example1.  Then when
  you run bochs, you will get one line for each instruction PC and for
  each I/O access in a new file called bxevent.txt.
<li> set a bit in the CMOS that says the processor has an FPU.  This is
  from patch [ <a href="http://bochs.sourceforge.net/cgi-bin/topper.pl?sftype=patch&id=455006">#455006</a> ] Device byte is not initialized aptly.
  Author did not leave their name.
<li> add logging code to the "null ethernet" which does not require host OS
  support.  All this does is print the outgoing packets from the guest OS.
<li> cleanup of log functions (Todd Fries)
<li> add BX_ERROR for every command in ATAPI-6 that bochs does not support.
  I still need to do add some commands from older specs that are obsolete
  (and not listed) in ATAPI-6.  Commands that aren't in the spec will still
  panic.
<li> only put 0xf into the 2nd hard disk field when the cdrom is not present.
  This is a patch from Volker Ruppert <Volker.Ruppert@t-online.de>, who
  comments: "The fdisk command reports an unusable second harddisk if the cdrom
  is enabled. This patch helps, but I don't know if it is the right way."
<li> make hard disk code return error codes when data is not available instead
  of just panicing.  In particular, if the logical sector is out of bounds
  or the disk image cannot be read/written at the desired offset, we now
  abort the ATA command and return an error code.  Many of the old BX_PANIC
  messages are turned to BX_ERROR, so they will still appear in the
  log, but now the device model will try to communicate this fact to
  the OS instead of simply giving up.
<li> don't blindly reject odd length atapi commands.  There are cases when
  it's really ok according to ATA-4.
<li> for big endian machines, reversed the bit fields in interrupt_reason.
  This was pointed out by Nicholai Benalal.
<li> extended keyboard improvements by Dave Poirier
<li> major mouse patch from Dave Spring, that implements several missing 
  mouse modes.
<li> commit keyboard patch from David Haslam <dch@sirius.clara.co.uk>
  posted to mailing list, that addresses the problem of each key press
  printing ^@.  See cvs log for details.
<li> mouse performance fixes by Greg Alexander and Robb Main
<li> NE2000 fixes by Frode Vatvedt Fjeld, ecelca@yahoo.com, Greg Alexander,
  and angelos@openbsd.org.
<li> fix bug [ <a href="http://bochs.sourceforge.net/cgi-bin/topper.pl?sftype=bug&id=468340">#468340</a> ] pic:slave: OCW3 not implemented.  Some event handling
  code appeared in the master pic but not the slave pic.
<li> fix compile problems in SB16 code, related to fpos_t being treated as 
  an integer.
<li> patch from Volker Ruppert <Volker.Ruppert@t-online.de> to fix
  midi output file so that winamp can play it.
<li> some cleanup of serial code by Todd Fries and Volker Ruppert, but it
  doesn't work yet.

</ul>

<a name="v1.2.1">
<h2>
<a href="http://prdownloads.sourceforge.net/bochs/bochs-1.2.1.tar.gz">Version 1.2.1</a> (June 12, 2001)
</h2>

<ul>
<li> more work on makefile for building RPMs
<li> [ <a href="http://bochs.sourceforge.net/cgi-bin/topper.pl?sftype=patch&id=432382">#432382</a>  ] build debian packages patch <BR>
  add build/debian directory from Rob Lemley <rjlemley@calypsoblue.org>
  which allows us to make Debian packages!
<li> optimize for speed when simulating one processor.  Now 1-processor
  performance should be equivalent to 1.1.2.
<li> [ <a href="http://bochs.sourceforge.net/cgi-bin/topper.pl?sftype=patch&id=425640">#425640</a>  ] sb16 assumes fpos_t is long int <BR>
  This fixes compiles of iodev/sb16.cc on linux systems with newer libraries
  in which fpos_t is not an integer.
<li> [ <a href="http://bochs.sourceforge.net/cgi-bin/topper.pl?sftype=bug&id=432488">#432488</a>  ] SMP:assert "n_logfn &lt; MAX_LOGFNS" fails <BR>
  increase MAX_LOGFNS since we ran out of them on an SMP simulation with
  4 processors
<li> changes to compile clean on cygwin:
<ul>
  <li> don't use the WIN32 snprintf define for cygwin
  <li> add ssize_t definition for cygwin
  <li> only compile "struct timeval tval" if select is available
    on that platform.
</ul>
<li> [ <a href="http://bochs.sourceforge.net/cgi-bin/topper.pl?sftype=bug&id=432491">#432491</a>  ] SMP: CPUID says no APIC feature <BR>
  clean up inconsistent use of BX_SUPPORT_APIC and BX_APIC_SUPPORT, which
  caused the CPUID to report no APIC was present
<li> [ <a href="http://bochs.sourceforge.net/cgi-bin/topper.pl?sftype=bug&id=431025">#431025</a>  ] --enable-external-device-models broken <BR>
  removed configure options for external-device-models and 
  external-cpu-memory.  These don't work and aren't going to be fixed.
<li> [ <a href="http://bochs.sourceforge.net/cgi-bin/topper.pl?sftype=bug&id=429448">#429448</a>  ] configure: -lreadline when not there <BR>
  Now configure allows you to choose not to use readline, even if it's found
  on your system.
<li> [ <a href="http://bochs.sourceforge.net/cgi-bin/topper.pl?sftype=bug&id=428915">#428915</a>  ] apply extended keyboard patch <BR>
  extended keyboard patch by Dave Poirier <eks@void-core.2y.net>
<li> [ <a href="http://bochs.sourceforge.net/cgi-bin/topper.pl?sftype=bug&id=428626">#428626</a>  ] if no X11 found, configure&make fails <BR>
  Now configure halts if X windows is selected but no X libraries are found.
<li> updated rombios to version 1.13.  This fixes several problems:
<ul>
  <li> [ <a href="http://bochs.sourceforge.net/cgi-bin/topper.pl?sftype=bug&id=430472">#430472</a>  ] DOS HIMEM "A20 line" error <BR>
    This problem was apparantly caused when Bryce added a function that prints
    the BIOS version, and he called it too early in the boot process.  Now the
    same function is called later, and it doesn't break the A20.
  <li> [ <a href="http://bochs.sourceforge.net/cgi-bin/topper.pl?sftype=bug&id=431010">#431010</a>  ] SMP structure overwritten in v1.2 <BR>
    SMP structures were getting overwritten by BCC-generated data, 
    preventing SMP operating systems from detecting that other processors
    were available.
  <li> [ <a href="http://bochs.sourceforge.net/cgi-bin/topper.pl?sftype=bug&id=431016">#431016</a> ] bios: SMP struct has wrong entry count
    SMP structure had the wrong entry counts
</ul>
<li> very minor doc updates (typos, replace broken link to mtools info)
<li> quit when the user clicks the power button, even if they have disabled
  panics.
<li> win32 now defaults to having mouse capture mode turned off.  For new users,
  it would be distressing for their mouse cursor to disappear until they
  pressed F12.
<li> [ <a href="http://bochs.sourceforge.net/cgi-bin/topper.pl?sftype=bug&id=428222">#428222</a>  ] vga font not installed <BR>
  added script called "install-x11-fonts" which should help people install
  the VGA font on X windows systems, if it isn't already there.
</ul>

<a name="v1.2">
<h2>
<a href="http://prdownloads.sourceforge.net/bochs/bochs-1.2.tar.gz">Version 1.2</a> (June 3, 2001)
</h2>
This version is the first feature release from the Bochs project on Sourceforge.
The following list describes the changes since 1.2.pre1.

  <ul>
<li> [ <a href="http://bochs.sourceforge.net/cgi-bin/topper.pl?sftype=bug&id=427259">#427259</a>  ] rombios HALT calls don't print <br>
  Fixed bios/rombios.c HALT macro so that it writes the line number of the
  panic to the PANIC_PORT (port 0x400) and then does NOT do a halt 
  instruction.  Also changed iodev/unmapped.cc so that the line number written
  to PANIC_PORT is displayed as a BX_PANIC message.  Because the HALT
  macro now triggers the normal panic behavior, it can be controlled by
  the bochsrc.
<li> [ <a href="http://bochs.sourceforge.net/cgi-bin/topper.pl?sftype=bug&id=429016">#429016</a>  ] crash if no hard drive <br>
  rombios used to call HALT macro if no hard drive was found. Now it only
  calls HALT if a hard drive has an illegal geometry.
<li> [ <a href="http://bochs.sourceforge.net/cgi-bin/topper.pl?sftype=bug&id=425388">#425388</a>  ] include source for simple disk img tool <br>
  [ <a href="http://bochs.sourceforge.net/cgi-bin/topper.pl?sftype=bug&id=428478">#428478</a>  ] mkimg tool creates image 1 byte too big
  Added bximage tool, which makes empty floppy and hard disk images.
  It is now included in the top level Makefile, so it will get built
  by default on all platforms.
<li> [ <a href="http://bochs.sourceforge.net/cgi-bin/topper.pl?sftype=bug&id=426036">#426036</a>  ] eth_fbsd.cc compile problem on solaris26 <br>
  added configure test so that "configure --enable-ne2000" only
  includes the Berkeley Packet Filter code (eth_fbsd) if the header
  file <net/bpf.h> can be found.  If you don't have BPF the ne2000
  will not actually move packets, but at least it will compile clean now.
<li> [ <a href="http://bochs.sourceforge.net/cgi-bin/topper.pl?sftype=bug&id=428214">#428214</a>  ] 1.2.pre1 need documentation for binaries <br>
  Write windows and linux specific documentation to be installed in
  binary releases.
<li> [ <a href="http://bochs.sourceforge.net/cgi-bin/topper.pl?sftype=bug&id=429258">#429258</a>  ] disable RESET for version 1.2 <br>
  Since soft reset was not completely working, I reverted the reset patch.
  Now it does panics on reset instead of trying to reboot, as the old
  bochs versions did.
<li> [ <a href="http://bochs.sourceforge.net/cgi-bin/topper.pl?sftype=bug&id=428222">#428222</a>  ] Should the linux RPM install vga font? <br>
  now font/vga.pcf will be installed in the RPM package
<li> [ <a href="http://bochs.sourceforge.net/cgi-bin/topper.pl?sftype=bug&id=429020">#429020</a>  ] stop renaming the BIOS!!! <br>
  new BIOS changes are now in BIOS-bochs-latest, instead of a BIOS 
  whose name changes every time we change anything!  To help distinguish
  different BIOS versions, the BIOS now prints its RCS Id into the
  log file.
<li> [ <a href="http://bochs.sourceforge.net/cgi-bin/topper.pl?sftype=bug&id=428625">#428625</a>  ] compile problem if SHOW_IPS is on <br>
  removed extra paren that broke SHOW_IPS
<li> [ <a href="http://bochs.sourceforge.net/cgi-bin/topper.pl?sftype=bug&id=428219">#428219</a>  ] PCI doesn't compile with SMF=1
<li> [ <a href="http://bochs.sourceforge.net/cgi-bin/topper.pl?sftype=bug&id=429375">#429375</a>  ] pthreads detection broken
<li> [ <a href="http://bochs.sourceforge.net/cgi-bin/topper.pl?sftype=bug&id=429073">#429073</a>  ] configure: if no X11, makes bad config
<li> [ <a href="http://bochs.sourceforge.net/cgi-bin/topper.pl?sftype=bug&id=429229">#429229</a>  ] install current .bochsrc in binary rels
<li> install Tim's man pages on linux RPM
<li> BIOS prints messages in log in case of boot failure
<li> rewrote instructions for compiling in win32 (win32.txt)
<li> fixed link in HTML changelog.html to point to the real sources on SF.
<li> added missing LOG_THIS definition to gui/nogui.cc and gui/rfb.cc
<li> added additional check for null pointer in debugger exit routine
<li> added diskd to .bochsrc
  </ul>

<a name="v1.2.pre1">
<h2>
<a href="http://prdownloads.sourceforge.net/bochs/bochs-1.2.pre1.tar.gz">Version 1.2-pre1</a> (May 25, 2001)
</h2>
  This version is the first feature release from the Bochs project on Sourceforge.  It is marked "pre1" because some of the new features have not had widespread testing yet.  When more features/platforms/OSes have been tested (and bugs fixed) we will make a real 1.2 release.
  <ul>
  <li> major cleanup of .bochsrc
  <li> major cleanup of stderr output: prints bochs version information when
    starting, and at the end it tries to print the message that caused
    bochs to quit.
  <li> two hard disk support (diskd).  At present, you cannot have two 
    hard drives and a cdrom at the same time, because there is only
    one IDE controller with two channels. 
  <li> split hard disk support allows different partitions to be stored in
    different image files
  <li> two new GUI choices: term mode and RFB mode.  Term is a text-only
    interface, and RFB creates a server that can be accessed using 
    the AT&T VNC viewer.
  <li> now Bochs can simulate an SMP machine, if you configure with
    --enable-processors=N.  Configuring more than one processor has
    a major performance impact, so the default is 1 processor.
    See <a href="smp-simulation.html">SMP documentation</a> for more details.
  <li> to make SMP work, bx_mem and bx_cpu have been replaced with
    bx_mem_array[] and bx_cpu_array[].  The cpus are referenced through
    the BX_CPU(n) macro and memories through the BX_MEM(n).  Normal
    mode has one cpu and one memory, SMP mode has multiple cpu's and
    one memory, cosimulation mode has multiple cpus and multiple memories.
  <li> use --enable-cpu-level=6 to make Bochs claim to be a Pentium Pro.
    The only feature that requires CPU level 6 is apic support.
  <li> new logging system by Todd Fries, which has 4 levels of event
    severity (panic, error, info, debug).  There are new .bochsrc
    options that control what action to take when a 
    panic/error/info/debug event occurs.
  <li> now searches for .bochsrc, bochsrc, bochsrc.txt, and (on unix only)
    $HOME/.bochsrc.
  <li> use GNU readline library if --enable-debugger is on, as long as readline
    can be found on the machine
  <li> configure checks for existence strtoull and strtouq. if neither exists,
    Bochs uses its own implementation
  <li> applied patches from Cliff Hones <cliff@aonix.co.uk> to fix up the
    rombios.  This includes many improvements, which you can list by
    doing "cvs log -r 1.6 bios/rombios.c" or looking at cvsweb.
  <li> added suggested geometries of larger disks to the documentation
  <li> this is the first release to have official binary packages for win32
    and Linux.  There is a new "make rpm" in the top-level Makefile which
    will create an RPM of the current bochs directory.  To use this,
    become root and type "configure; make rpm".
  <li> applied some FreeBSD patches from Maxim Sobolev (cdrom and serial).
  </ul>

<a name="v1.1.2">
<h2>
<a href="http://prdownloads.sourceforge.net/bochs/bochs-1.1.2.tar.gz">Version 1.1.2 (bugfix3)</a> (May 16, 2001)
</h2>
  <ul>
  <li> FPU is now compiled in by default.
  <li> updated Elpin VGA BIOS to version 2.40, and changed pointer in .bochsrc
  <li> fixed .conf.x86 script so that it uses c++ instead of egcs for C++ files
  <li> now Makefile targets that recurse into subdirectories use double colons,
    so that it will always recurse into subdirectories.  Now a single make
    command should notice a modified source file in a subdir.
  <li> fixed bug in bx_panic.  If BX_PANIC_IS_FATAL==0 and a (non-fatal) panic 
    occurs, it used to call bx_atexit() and then return.  It should never
    call bx_atexit, which starts to shut down the simulator, unless it's
    really going to quit!
  <li> support 2.88 MB floppy disks (Todd Fries)
  <li> since dataseghack is checked in as non-executable, invoke it with
    "csh dataseghack"
  <li> double fault patch from Thomas Petazzoni &lt; <a href="mailto:thomas.petazzoni@ifrance.com">thomas.petazzoni@ifrance.com</a> &gt;,
    sourceforge patch <a href="http://bochs.sourceforge.net/cgi-bin/topper.pl?sftype=patch&id=423726">#423726</a>.  
  <li> removed -fno-builtin from fpu makefiles
  <li> redefine u_char, u_short, etc. in order to not conflict with system
    definitions of these same types.
  <li> in cdrom.cc, remove the extern "C" { } structure around some of the
    header files.  This is no longer necessary.
  <li> do not panic on hard disk command 0x1f2 (read sector count)
  <li> in keyboard.cc:
     <ul>
       <li> apply Todd Fries' reset patch 
       <li> recognize most of the "Grey" insert/delete/home/end/etc. keys the
	same as keypad keys.
       <li> removed panic on "kbd_ctrl_to_kbd(): got value of 0x??"
       <li> implement mouse command 0xf6 (set defaults)
     </ul>
  <li> apply Suboner@aol.com's Xwindows timing patch, <a href="http://bochs.sourceforge.net/cgi-bin/topper.pl?sftype=bug&id=418730">#418730</a>.
  <li> remove all patches from patches subdir which have already been applied.
    The remaining ones are under consideration but not applied.
  </ul>

<a name="v1.1.1">
<h2>
<a href="http://prdownloads.sourceforge.net/bochs/bochs-bugfix-20010409-beta.tar.gz">Version 1.1.1 (bugfix2)</a> (April 9, 2001)
</h2>
  <ul>
  <li> fixed type error in win32 soundwin.cc, added typecast to (LPWAVEFORMATEX)
  <li> now configure --with-win32-vcpp provides correct #defines for VC++
  </ul>

<a name="v1.1">
<h2>
<a href="http://prdownloads.sourceforge.net/bochs/bochs-bugfix-20010406-beta.tar.gz">Version 1.1 bugfix1</a> (April 6, 2001)
</h2>
  <ul>
  <li>This was the first SourceForge release by Bryce Denney, with patches from many sources on the bochs-developers list.
  <li>add BX_PANIC_IS_FATAL option.  <br>WARNING: Due to a implementation bug, nonfatal panics can create problems.  If you need to use BX_PANIC_IS_FATAL=0, move the bx_atexit() after the return line.  This problem was corrected in CVS after 5/2/2001, and appears in version 1.1.2 and later.
  <li>win32:
    <ul>
    <li>CDROM drive letter is no longer hardcoded
    <li>bypass fstat when opening WIN32 raw floppy disk
    </ul>
  <li>device models:
    <ul>
      <li>support sun cdrom
      <li>mouse: fix panics on 0xd3, 0xeb commands
      <li>harddrv: implement aborts on a few SET FEATURE commands
      <li>vga: implement VGA enable register 0x3c3
      <li>pit: allow modes 0,2,3 on any timer
    </ul>
  <li>many portability fixes
    <ul>
      <li>fix compile problems in FPU related to inline keyword
      <li>configure checks if compiler allows "LL" for 64-bit constant
      <li>renamed fpu function fabs, conflicts with math library
      <li>fix pointer crashes in FPU on 64-bit machines
      <li>provide libc functions snprintf, strtoull if missing
      <li>check if compiler allows __attribute__
      <li>comment out sigcontext struct definition because it conflicted with sigcontext on host system
    </ul>
  </ul>

<br>
<h2>
<a href="http://prdownloads.sourceforge.net/bochs/bochs-2000-03-25.tar.gz">bochs-2000_0315</a>
</h2>
  <ul>
  <li>Kevin removed all references to Bochs Software Company and "this is commercial software," and replaced them with Mandrake copyrights and LGPL.
  </ul>

<br>
<h2>
<a href="ftp://bochs.com/pub/bochs-2000_0104c.tar.gz">bochs-2000_0104c</a>
</h2>
  <ul>
  <li> FPU mods:
    <ul>
    <li> Integrated new FPU emulator mods from Bill Metzenthen.
    <li> Bill ported x86 specific assembly files to C.
    <li> I helped port the FPU emulator to work on big-endian machines.
         (tested on SPARC so far)
    <li> The FPU emulator is now integrated into the main bochs
         source code (in fpu/) for ease of compilation.
    <li> Tested on x86 and SPARC.
    <li> The '--enable-fpu' option no longer needs an argument.
    </ul>
  </ul>

<br>
<h2>
<a href="ftp://bochs.com/pub/bochs-991114a.tar.gz">bochs-991114a</a>
</h2>
  <ul>
  <li> CDROM emulation works on win32. &nbsp;Mods from Nick Behnken.
  <li> Cleaned up some problems with win32 compile with VC++.
  <li> Fixed ::call_protected() for protected mode call to same level
       via call gate.
  </ul>

<br>
<h2>
<a href="ftp://bochs.com/pub/bochs-991107c.tar.gz">bochs-991107c</a>
</h2>
  <ul>
  <li> Sound Blaster 16 emulation.
    <ul>
    <li> Integrated Sound Blaster 16 emulation from Josef Drexler.
    <li> Check out <a href="sound.html">sound.html</a> for SB16 notes.
    <li> Added configure option <a href="configure.html">--enable-sb16=</a>.
    </ul>
  <li> Started work on special guest driver to host interface, which
       will ultimately be used by disk/video/network etc drivers
       to enhance performance in bochs. &nbsp;Not usable yet.
  </ul>

<br>
<h2>
<a href="ftp://bochs.com/pub/bochs-991102a.tar.gz">bochs-991102a</a>
</h2>
  <ul>
  <li> NT4.0 installs in bochs (Pentium+FPU+CDROM options).
  <li> Please wait until next release for running NT unless you really
       need it.
  <li> Created (incomplete) docs-html/guestNT.html to outline process
       of installing NT4.0 in bochs.
  <li> More fixes to ::exception().
  <li> Fixes to ::stack_return_to_v86().
  <li> Mods to configure to handle win32 config again.
  <li> Integrates mods from win32 developers.
  <li> vga.cc handles variable number of lines in text mode. &nbsp;
       Updated GUI code for all platforms, to receive number of
       lines of text in ::text_update().
  </ul>

<br>
<h2>
<a href="ftp://bochs.com/pub/bochs-991023a.tar.gz">bochs-991023a</a>
</h2>
  <ul>
  <li> Integrated diffs submitted for OpenBSD cdrom support.
  <li> Fixed up v8086 mode and exception handling.
  <li> Fixed real-mode handling of IOPL flag WRT POPF/IRET.
  <li> Fixed handling of a bunch of weird 16/32-bit transitions.
       &nbsp;In the doing, I ended up recoding the following:
    <ul>
    <li> Recoded ::exception()
    <li> Recoded ::interrupt()
    <li> Recoded ::task_switch()
    </ul>
  <li> Cleaned up most warnings.
  <li> Added docs-html/codingguidelines.html.  Please peruse it, if
       you are a code submitter, and would like to comply with
       my code tyranny. :^)
  <li> Integrated new submitted Mac build files and gui code.
  <li> Have a few more issues to take care of before playing
       in the dynamic translation sandbox again.
  </ul>

<br>
<h2>
<a href="ftp://bochs.com/pub/bochs-991014a.tar.gz">bochs-991014a</a>
</h2>
  <ul>
  <li> CDROM emulation:
    <ul>
    <li> New ./configure option '--enable-cdrom'.  So far, there is
         only support for Linux.
    <li> I created a Linux specific CDROM component.  Mostly
         just ioctl()s needed to access a few functions of the
         cdrom.
    <li> Created 'iodev/cdrom.cc' and 'iodev/cdrom.h' which contain
         the low-level code.  Essentially, all the OS specific code
         is contained in these files.
    <li> Should be fairly easy to add code for other OSes.
    <li> Use .bochsrc directive 'cdromd: dev=/dev/cdrom, status=inserted'.
    <li> Will add an icon for cdrom to the UI later.
    <li> Tested cdrom emulation running Linux in bochs.  Use something
         like 'mount -r /dev/hdb /mnt/cdrom'.  Haven't checked out
         using it in Windows yet.
    </ul>
  </ul>

<br>
<h2>
<a href="ftp://bochs.com/pub/bochs-991012a.tar.gz">bochs-991012a</a>
</h2>
  <ul>
  <li> Moved default cpu level to Pentium.
  <li> Created docs-html/configure.html to explain options to configure.
  <li> Fixes to high-level CDROM support.
  <li> Added optional x86 hardware debug support:
    <ul>
    <li> '--enable-x86-debugger' is a new option to ./configure.
    <li> This is the debug support offered by an x86 CPU,
         not the native bochs debugger.
    <li> Added instruction and data breakpoint capabilities.
    <li> Added proper RF handling with or without hw debugging.
    <li> You can configure without this option for more speed.
    </ul>
  <li> FWAIT now calls FPU emulator like it should.
  <li> Changes to LMSW.
  <li> Moved a bunch of initial stderr messages to bochs.out.
  <li> More Pentium behaviour enhancements.
  <li> Modified HLT instruction.
  <li> GRUB now works in bochs and can load programs.
  <li> Compiled a new wm-FPU-emu version for this bochs version
       (only very minor mods).
  <li> Work on further Pentium emulation continues...
  </ul>

<br>
<h2>
<a href="ftp://bochs.com/pub/bochs-991004a.tar.gz">bochs-991004a</a>
</h2>
  <ul>
  <li> Added partial Pentium emulation:
    <ul>
    <li> --enable-cpu-level=5 is now possible from ./configure.
    <li> Default level still at 4 without above option.
    <li> Win'95 boots and recognizes Pentium emulation.
    <li> Linux boots and recognizes Pentium emulation.
    </ul>
  <li> Work on further Pentium emulation continues...
  </ul>

<br>
<h2>
<a href="ftp://bochs.com/pub/bochs-990925a.tar.gz">bochs-990925a</a>
</h2>
  <ul>
  <li> Generated new BIOS (bios/BIOS-bochs-990925a).
  <li> Fix to mouse BIOS code (int15h:c2:06:00).  The use of
       local code block/variables is not handled correctly by
       the bcc compiler.  Removed braces, and moved local variable
       to top level of function.
  <li> Fix to extended mem access BIOS function (int15h:87).
       This was killing Minix.
  <li> Fix to floppy.cc, was reading one extra sector.
  <li> Fix to Makefiles etc for compiling without floating point.
  <li> Minix boots again inside bochs.  Though, the keyboard code
       is not yet right for running Minix.  For some reason, if
       you comment out the 2 keyboard ACKs at lines 947 and
       966 in iodev/keyboard.cc, it works.
  </ul>

<br>
<h2>
<a href="ftp://bochs.com/pub/bochs-990923a.tar.gz">bochs-990923a</a>
</h2>
  <ul>
  <li> Fixes to vga.cc for odd VGA graphics modes.  Even the
       Windows'95 splash screen works now! (Craig Ballantyne)
  <li> Addition of postfix expression evaluator in the debugger.
       (Hanish Menon)
  <li> Support for 1.76MB floppies. (Hanish Menon)
  <li> Bug fix for debugger. (Hanish Menon)
  </ul>

<br>
<h2>
<a href="ftp://bochs.com/pub/bochs-990920a.tar.gz">bochs-990920a</a>
</h2>
  <ul>
  <li> Fixed bug in crc command from debug prompt
  <li> Bochs now can be compiled to use wm-FPU-emu,
       the x87 FPU emulator included in the Linux kernel.  It
       was written by Bill Metzenthen.  Look in fpu.html for
       more info.  Added "--enable-fpu=" to configure.  For now,
       this will only work on x86, since wm-FPU-emu has some
       assembly components.
  <li> Coded illegal instruction exception for old XBTS and IBTS
       opcodes.
  <li> Moved default cpu level to 486.
  <li> Decoupled main web page from user documentation in "docs-html".
  </ul>

<br>
<h2><font color="#000066">bochs-990907a</font></h2>
  <ul>
  <li> Fixed bug in rombios.c, new bios is bios/BIOS-bochs-990907a
  <li> Commented out load32bitOSImage directive in .bochsrc,
       should not have been left uncommented.
  <li> <b>Working on Pentium emulation next...</b>
  </ul>

<BR>
<H2><FONT COLOR="#000066">bochs-990708a</FONT></H2>
  <UL>
  <LI> integrated submitted mods to BeOS gui stuff
  <LI> integrated ne2k emulation (only FreeBSD low-level implemented)
  <LI> integrated mega patches which allow bochs to boot
       and run NT4/SP4 (simulating a 486sx)
    <UL>
    <LI> - Magic breakpoint
    <LI> - IDE CD-ROM (needs low-level OS stuff for all OSs)
    <LI> - Current time in time0
    <LI> - Instruction based simulation clock
    <LI> - Time breakpoints
    <LI> - Bios improvements [rombios-new.c]
    <LI> - Read/write breakpoints
    <LI> - Mode switch breakpoints
    <LI> - Bugfixes in iret
    <LI> - Bugfixes in the fetch/decode tables
    <LI> - CPUID instruction implemented
    <LI> - Additional support for the AC and ID bits
    <LI> - Intel division 'emulation'
    <LI> - Floating point fixes
    <LI>  - INVLPG instruction implemented
    <LI>  - Read-modify-write fault behavior fix
    <LI>  - Paging bugfixes
    <LI>  - Minor LES fix
    <LI>  - Interrupt handling bugfix
    <LI>  - V86 mode bugfixes
    <LI>  - Debugger bugfixes
    <LI>  - Sync on cpu implemented
    <LI>  - Sync on memory implemented
    <LI>  - New debugger commands:
      <UL>
      <LI> trace-on
      <LI> trace-off
      <LI> ptime
      <LI> sb
      <LI> sba
      <LI> diff-memory
      <LI> sync-memory
      <LI> sync-cpu
      <LI> fast-forward
      <LI> info-addr
      <LI> record
      <LI> playback
      <LI> modebp
      <LI> where
      <LI> print-string
      <LI> show
      <LI> print-stack
      <LI> load-symbols
      <LI> watch
      <LI> unwatch
      <LI> phy2log
      <LI> force-check
      </UL>
    <LI> - Mouse support through PS/2 interface
    <LI> - IDE improvements and bugfixes
    <LI> - External disk simulation interface
    <LI> - Keyboard bugfixes
    <LI> - Mouse support in the X11 gui
    <LI> - Improved debug support in I/O devices
    <LI> - VGA improvements and bugfixes
    </UL>
  <LI> New .bochsrc directives: "time0", "magic_break", "ne2k", "cdromd".
  <LI> Task switch bug fixed
  <LI> Integrated Mac port enhancements
  </UL>

<BR>
<A NAME="DTTeaser"></A>
<H2><FONT COLOR="#000066">bochs-990312b</FONT></H2>
  <UL>
  <LI> (ftp://ftp.bochs.com/pub/DT/bochs-990312b.tar.gz)
  <LI> First teaser release with dynamic translation framework!
  <LI> Only a few instructions translated, but the framework
       is coming along nicely.  Read "readme.990312b" in the
       ftp directory above for more info.  I include some
       preliminary performance tests, and you can benchmark
       bochs with dynamic translation on your own machine.
  <LI> Many more optimizations are possible.
  <LI> Here's an excerpt from the readme file:
<PRE>
         dynamic translation:        interpreter:
-------------------------------------------------
dttest1:      2.4Mips                  1.9Mips
dttest2:     15.0Mips                  3.2Mips
dttest3:     10.5Mips                  3.5Mips
dttest4:     21.2Mips                  3.1Mips
</PRE>
  </UL>
<BR>

<H2><FONT COLOR="#000066">bochs-990219a</FONT></H2>
  <UL>
  <LI> Converted all read-modify-write instructions to use
       RMW versions of write_virtual_xyz() & read_virtual_xyz().
  <LI> Addition of Linux/PPC to successful port matrix.
  <LI> Dynamic translation framework is coming along nicely,
       but not included here yet.  I'll include it soon in
       an upcoming release.
  <LI> Roadrunner OS booted.
  <LI> Integrated many patches from bochs users:
    <UL>
    <LI> Floppy: change line support.
    <LI> Beos: BX_KEY_{LEFT,RIGHT}_ARROW, omitted _ARROW.
    <LI> Bochs port to Cygwin32 without cygnus layer (pure win32 mode).
    <LI> New version of win32.cc, fixes to fetchdecode.cc for win32.
    <LI> Fixes to keyboard.
    <LI> Fixes to X11 cursor problem.
    <LI> Added --enable-port-e9-hack for sending port output to console.
    <LI> New version of macintosh.cc.
    <LI> Changes to allow quoting pathnames in .bochsrc so you
         can have filenames with spaces.
    <LI> Harddrv.cc: implemented command 0x21 as 0x20.
    </UL>
  </UL>
<BR>
<H2><FONT COLOR="#000066">bochs-990127d</FONT></H2>
  <UL>
  <LI> Rehashed CPU code in preparation for dynamic translation.
    <UL>
    <LI> Fetch-decode, address resolve, and execute phases are
         all distinct now.
    <LI> Each instruction gets it's parameters from a pointer to
         a structure passed to it.
    </UL>
  <LI> Added '--enable-time0' option to configure.  Use this only
         if you want to always start the cmos clock at the same
         value every time.  This is valuable for reproducable runs.
         It was invaluable to me during cosimulation of this version
         of bochs against an older one to find bugs.
  <LI> Fix in cpu/paging.cc.  Set all segment register descriptor
       caches to invalid, until they were properly loaded.
  </UL>
<BR>
<H2><FONT COLOR="#000066">bochs-990110b</FONT></H2>
  <UL>
  <LI> Fixed handling of CR0.val32 shadow to individual flags.
       Oops, I goofed in bochs-990110a.
  <LI> Redhat 5.2 boot floppy image works again.
  <LI> Incorporated new serial port diffs.
  <LI> Configure senses if you have select().  New macro BX_HAVE_SELECT.
  <LI> Added future configure option '--enable-dynamic-translation'.
       Don't use this, as its not yet supported.
  </UL>
<BR>
<H2><FONT COLOR="#000066">bochs-990110a</FONT></H2>
  <UL>
  <LI> Direct floppy disk access fix.  I was only checking if
       file was a character-special file.  Added check for
       block-special file.
  <LI> Minor fixes for Macintosh platform.
  <LI> Small changes to compile bochs on BeOS R4 for x86 using gcc.
  <LI> Fix to timer framework code in pc_system.cc.
  <LI> Fix to iodev/floppy.cc, was using AND instead of OR.
  <LI> Fix to handling of IOPL flag in real-mode.
  <LI> change CR0 reserved bits handling to model actual x86
  <LI> added .conf.beos-x86-R4 script
  <LI> completely rehashed INT 1A BIOS time-of-day services.
  <LI> LOADLIN.EXE no longer complains about being in v86 mode.
  </UL>
<BR>
<H2><FONT COLOR="#000066">bochs-981229a</FONT></H2>
  <UL>
  <LI> Changed configure option '--with-win32-vc50' to '--with-win32-vcpp'
  <LI> Changed script file '.conf.win32-vc50' to '.conf.win32-vcpp'
  <LI> Integrated Macintosh port of bochs by David Batterham
    <UL>
    <LI> Added '--with-macos' option to configure.
    <LI> Updated web pages with pointer to MacBochs site and local info.
    </UL>
  </UL>
<BR>
<H2><FONT COLOR="#000066">bochs-981222a</FONT></H2>
  <UL>
  <LI> Generated new bios 'bios/BIOS-bochs-981222a'
  <LI> Serial port: integrated diffs I received which implement a single
       8259 UART with IO attached to console
  <LI> Partially integrated mods from some limited i440fx PCI support
    <UL>
    <LI> A few more mods to integrate, DON'T USE YET
    <LI> Added '--enable-pci' to ./configure and BX_PCI_SUPPORT macro
    <LI> Added 'i440fxsupport: enabled=' option to .bochsrc
    </UL>
  <LI> Added settable BX_SHADOW_RAM macro to config.h.in, in case
       your software counts on C0000..FFFFF being writable.
  <LI> Added 'cmosimage:' option to .bocshrc.  If you use this,
       an image file is read into CMOS registers upon startup.
       Then certain values are written over, as the IO devices
       initialize.  Not complete yet.  DON'T USE YET
  <LI> Added 'newharddrivesupport: enabled=' option to .bochsrc.
       Set this to 0 or 1.  If set to 1, some new hard drive commands
       are accepted and some behaviour is changed per some diffs I
       received.  After I have time to look at these more, I'll
       integrate them permanently and get rid of this option.
  <LI> Some fixes to keyboard/floppy/hard-drive support.
  <LI> Rehashed the CMOS code.  Now support the RTC, interval timer
       and alarm clock.  This code has not been tested properly.
  <LI> Rehashed the bochs native timer support which some of
       the IO devices use.
  </UL>
<BR>
<H2><FONT COLOR="#000066">bochs-981102b</FONT></H2>
  <UL>
  <LI>Rehashed paging.cc and TLB.  Fixed problem with dirty bit not
      being set after a read operation cached an entry in the TLB.
      Also, added in legwork for supporting 486+ syle paging behaviour
      for use with OS's which have copy-on-write strategies.
  </UL>
<BR>
<H2><FONT COLOR="#000066">bochs-981015a</FONT></H2>
  <UL>
  <LI>cosimulation support for verifying a 2nd CPU simulator (lot's of files touched)
  <LI>moved web pages and ftp to bochs.com
  <LI>developer's email list now hosted by RedHat
  <LI>planning dynamic translation
  </UL>
<LI><H2><FONT COLOR="#000066">bochs-980707a</FONT></H2>
  <UL>
  <LI>added commands to debugger
    <UL>
    <LI>CRC debugger command to checksum regions of memory
    <LI>"info dirty" command, to display pages dirtied since last display
    <LI>"take dma" now takes optional count.
    </UL>
  <LI>rehashed phyical read/write routines for effeciency
  <LI>Winstone'98 success so far:
    <UL>
    <LI>Access 97
    <LI>CorelDRAW! 7
    <LI>Excel 97
    <LI>Lotus 1-2-3 97
    <LI>Word 97
    <LI>PowerPoint 97
    <LI>Quattro Pro 7
    <LI>WordPerfect 7
    </UL>
  <LI>Winstone'98 tests remaining:
    <UL>
    <LI>Netscape Navigator
    <LI>Task Switching 1
    <LI>Task Switching 2
    </UL>
  </UL>
<BR>
<H2><FONT COLOR="#000066">bochs-980629a</FONT></H2>
  <UL>
  <LI>much in the way of x86 validation; many x86 emulation fixes!
  <LI>you can now pass all .bochsrc options on command line
  <LI>deleted breakpoints can now be reused, in debugger
  <LI>added user-level 486 instructions (set config.h:BX_CPU_HACKED to 4 to use)
  <LI>some minor speed-ups
  <LI>Unix machine can generate complete Win32/MS Visual C++ Makefiles, config files
  <LI>You may now create your own instrumentation library, with
      --enable-instrumentation="instrument/mydir"
  <LI>Winstone'98 success so far:
    <UL>
    <LI>Access 97
    <LI>CorelDRAW! 7
    <LI>Excel 97
    <LI>Lotus 1-2-3 97
    <LI>Word 97
    </UL>
  <LI>Winstone'98 tests remaining:
    <UL>
    <LI>Netscape Navigator
    <LI>PowerPoint 97
    <LI>Quattro Pro 7
    <LI>WordPerfect 7
    <LI>Task Switching 1
    <LI>Task Switching 2
    </UL>
  </UL>
<BR>
<H2><FONT COLOR="#000066">bochs-980512a</FONT></H2>
  <UL>
  <LI>added disassembly commands to debugger interface
  <LI>fixed bx_panic() calls when using debugger
  </UL>
<BR>
<H2><FONT COLOR="#000066">bochs-980512a</FONT></H2>
  <UL>
  <LI>more debugger commands and features
  <LI>co-emulation debugger commands
  <LI>added more instrumentation macros to CPU code
  <LI>added handling of EEh (echo) from keyboard ctrl to keyboard
  </UL>
<BR>
<H2><FONT COLOR="#000066">bochs-980407a</FONT></H2>
  <UL>
  <LI>added some instrumentation features:
    <UL>
    <LI>added '--enable-instrumentation' to configure
    <LI>added "instrumentation.h" that defines instrumenation macros
    <LI>added macros to some main decode loop and some instructions in cpu/
    </UL>
  <LI>added "win32.txt", updated "gui/win32.cc", added "bochsrc.win32"
      from David Ross (dross@pobox.com).  win32 GUI code now filled out.
  </UL>
<BR>
<H2><FONT COLOR="#000066">bochs-980331a</FONT></H2>
  <UL>
  <LI>added '--with-nogui' option to configure to run without any GUI.  Also provides
      documentation for the GUI specific functions.
  <LI>recoded the PS2 mouse BIOS and some mouse hardware emulation.  Mouse now
      works on X11.  Haven't implemented it for BeOS yet.  Double click timing
      doesn't work yet though.
  <LI>(possibly) fixed the panic during Win'95 install due to keyboard.
  <LI>added private_colormap option to .bochsrc.  requests a non-shared
      colormap from your GUI.  Only implemented on X11 so far.
  <LI>added mouse option to .bochsrc.  Not implemented yet for any of
      the GUI specific modules, but it will request that mouse events not
      be generated by the GUI.
  <LI>changed palette change technique to tell GUI of each individual
      palette element change.  The GUI has a chance now, to tell
      the VGA code if a redraw of the screen is necessary.  Redraw
      is not necessary if using a private colormap.
  </UL>
<BR>
<H2><FONT COLOR="#000066">bochs-980311d</FONT></H2>
  <UL>
  <LI>configure works with any permutation of disassembler and debugger
  <LI>fixed endian changes, messed up on 980304a
  <LI>Makefiles now use CC, CXX, CFLAGS, CXXFLAGS
  <LI>added --enable-cpp option to configure for use with that C++ suffix
  <LI>got BeOS code up to speed on the cursor changes.
  </UL>
<BR>
<H2><FONT COLOR="#000066">bochs-980304a</FONT></H2>
  <UL>
  <LI>changed BIG_ENDIAN & LITTLE_ENDIAN to use BX_ prefix
  <LI>added text mode video block cursor
  <LI>added vi package to Redhat install script
  </UL>
<BR>
<H2><FONT COLOR="#000066">bochs-980303a</FONT></H2>
  <UL>
  <LI>debugger command "info break" to display breakpoints
  <LI>debugger command "d[elete] xyz" to delete breakpoints
  <LI>patch to gui/x.cc for 24bit displays
  <LI>added instructions and script for installing RedHat 5.0 from CD
  <LI>rehashed CMOS RTC code so Linux works
  </UL>
<BR>
<H2><FONT COLOR="#000066">bochs-980224a</FONT></H2>
  <UL>
  <LI>added 32bit hardware task switching (only from jump's so far)
  <LI>fixes to floppy emulation
  <LI>created new optional debug interface, similar to GDB
  <LI>rehased disassembler for use in debug environment
  <LI>added hardware scrolling to VGA
  <LI>fixed handling of errorcode returned for paging errors
  <LI>Linux now boots!!!
  </UL>
<BR>
<H2><FONT COLOR="#000066">bochs-980124c</FONT></H2>
  <UL>
  <LI>BIOS floppy read/write fix.  AH was not being set.
  <LI>moved config.h:BX_PROCESSOR_IPS to .bochsrc 'ips' directive.
      Now you can run the same binary on different speed machines
      of the same type.  Just tune the 'ips' directive.
  <LI>converted vga.bdf font to bitmaps for use with BeOS.
      The BeOS module no longer uses any BeOS system fonts,
      but just includes the bitmaps in the source code.
  <LI>included patches for 980118.
  <LI>Changed 'mips' field to 'm_ips'.  Hopefully, this
      will fix compiles for MIPS processor based machines.
  </UL>
<BR>
<H2><FONT COLOR="#000066">bochs-980118a</FONT></H2>
  <UL>
  <LI>Added toolbar to top of GUI
  <LI>Floppy drive can switch between 1.44M & 1.680M formats
  <LI>Implemented Int15 function 87h in real BIOS
  <LI>bochs BIOS is now 100% clean of any 'C' hacks.
  </UL>

<BR>
<H2><FONT COLOR="#000066">bochs-971216b</FONT></H2>
  <UL>
  <LI>Several optimizations
  <LI>Added prefetch queue
  <LI>Made all device models into C++ classes
  <LI>Moved state information for each device model into state
      structure within class for future save/restore of device state.
  </UL>

<BR>
<H2><FONT COLOR="#000066">bochs-971118a</FONT></H2>
  <UL>
  <LI>Moved all GUI specific files (X11 and BeOS) into gui/ subdir
  <LI>Put in temp fix for exception handling restoring original eSP
  <LI>Began process of removing any knowlege of scancodes from GUI code
  <LI>Added better key handling for BeOS
  </UL>
</UL>


</BODY>
</HTML>