-
Notifications
You must be signed in to change notification settings - Fork 32
/
HISTORY.txt
267 lines (259 loc) · 23.9 KB
/
HISTORY.txt
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
*************
* cap32.cpp *
*************
Oct 11, 2000 - 22:12 preliminary IN/OUT handlers; started with the GA OUT register write routines
Oct 12, 2000 - 23:31 added GA ROM select to z80_OUT_handler
Oct 14, 2000 - 13:58 added PPI IN/OUT handlers
Oct 15, 2000 - 15:33 added CRTC IN/OUT handlers
Oct 20, 2000 - 23:23 fixed some IN/OUT handler bugs
Oct 27, 2000 - 17:39 added reset_CPC
Oct 30, 2000 - 21:05 found the problem with the streched display: scr_bps needs to be in dwords, not bytes!
Nov 01, 2000 - 23:43 aargh! found the BASIC 'reset' bug: the pbROMhi variable was pointing to the wrong location!
Nov 03, 2000 - 18:03 added keyboard_interrupt handler
Nov 03, 2000 - 19:10 added preliminary PSG register write handlers
Nov 03, 2000 - 23:37 fixed the PPI port C handler; CPC keyboard works now!
Dec 12, 2000 - 18:14 changed load_dsk() to work with a C based disk info structure
Jan 24, 2001 - 22:28 loading from disk images works (again)!
Apr 06, 2001 - 12:52 fixed the keyboard translation table (Allegro WIP 3.9.34 added 3 more keys to the array)
Jun 13, 2001 - 17:25 added DirectDraw and DirectInput8 init routines for the new Windows port of Caprice32
Jun 13, 2001 - 20:50 keyboard emualtion works now via the DI8 action mapping
Jun 21, 2001 - 00:30 changed DDraw code to work in windowed mode; added routines to render CPC screen in 32bpp; added drag'n drop functionality for CPC drive A
Jun 23, 2001 - 16:15 only the visible portion of the CPC screen is rendered to the frame buffer; Windows window is now sized to the proper CPC screen dimensions
Jun 28, 2001 - 18:42 fixed the extended DSK parsing; loading DSK images via common dialog file selector; handling of joystick axis data
Jun 29, 2001 - 20:16 speed throttling to original CPC speed; fixed the joystick mapping in the CPC keyboard matrix; implemented more menu commands
Jun 30, 2001 - 22:57 settings stored in and retrieved from the registry; updated emulator_init and emulator_shutdown; file selector remembers path and selected file
Jul 01, 2001 - 17:54 ROM slot cofiguration is stored in and retrieved from the registry; automatically loads last DSK images on startup
Jul 04, 2001 - 00:34 colour tables for 16bpp (555 & 565) and 8bpp PC video modes; DDraw init updated with bit depth dependant code
Jul 04, 2001 - 22:06 fixed 16bpp colour tables; updated VDU screen centering code to work with all bit depths
Jul 06, 2001 - 00:35 implemented pause option; emulation is halted when application becomes inactive
Jul 06, 2001 - 19:34 zip decompression for DSK and SNA loading
Jul 07, 2001 - 00:58 fixed setting of GA colour table in load_snapshot; last DSK image load on startup supports ZIP files
Jul 18, 2001 - 18:40 DirectSound init code finally works correctly!
Jul 20, 2001 - 18:17 found the problem with the sound emulation: snd_multiplier calculation was done with integer arithmetic! grrrr...
Jul 25, 2001 - 00:48 *finally* got a clean sound code that won't break up anymore!
Aug 01, 2001 - 17:38 sound configuration is pulled from and stored in the registry
Aug 02, 2001 - 18:31 floppy drive LED is now shown on the CPC screen during data transfers
Aug 03, 2001 - 19:26 added About box
Aug 03, 2001 - 23:49 altered load_dsk() to allocate memory on a track by track basis (in preparation of fdc_writeID() support)
Aug 06, 2001 - 18:42 started work on the Options dialog
Aug 10, 2001 - 19:10 finished the General Options property sheet
Aug 11, 2001 - 17:29 up to 576KB of RAM supported
Aug 12, 2001 - 21:43 extracted psg_reg_write() from the psg_write #define; fixed the PSG setup in load_snapshot()
Aug 16, 2001 - 00:49 load_snapshot() now adjusts RAM size, and loads the correct CPC ROM as necessary
Aug 20, 2001 - 00:59 added save_snapshot(); header contains preliminary v3 info
Aug 20, 2001 - 16:10 updated load_snapshot() with processing of the 'official' v3 info
Aug 22, 2001 - 23:26 added Audio Options property sheet to control PSG emulation
Oct 06, 2001 - 13:22 removed the "experimental" joystick 2 support from the action map code - did not work as expected
Oct 07, 2001 - 20:27 added the save_dsk() routine
Oct 13, 2001 - 18:51 completed rewrite of zip handling; users can now choose images from multiple file archives
Nov 08, 2001 - 19:08 bug fix: the zip_dir routine caused a crash if a zip archive would not open properly
Nov 09, 2001 - 00:04 the ROM loading routine now checks the validity of the image, and skips a possible 128 bytes header
May 09, 2002 - 19:07 removed the DDSCAPS_3DDEVICE flag from the InitDirectDraw code; modified UpdateBounds to prevent strechblits
Jun 12, 2002 - 18:24 started converting DirectX specific stuff to Allegro
Jun 14, 2002 - 17:49 emulator runs via GDI blits; re-implemented Allegro keyboard handler
Jun 22, 2002 - 17:34 finally got the windowed DirectX mode working using the new Allegro CVS version
Jun 25, 2002 - 18:41 added timer based speed throttling
Jun 27, 2002 - 18:08 CPC screen blits correctly now: source coordinates were being mangled
Jul 14, 2002 - 17:42 rewrote the PC sound playback routine to dynamically adjust the rate at which the buffer is filled
Jul 24, 2002 - 22:16 fixed a possible crash on startup if a zipped DSK in drive A/B had been (re)moved between sessions
Jul 27, 2002 - 16:45 added processing of a "language" file
Jul 27, 2002 - 19:14 changed LoadConfiguration and SaveConfiguration to use the Allegro configuration rountines
Jul 29, 2002 - 22:56 traced the 'access violation' problem back to the sound pause/resume functions
Aug 02, 2002 - 22:37 added some error condition checks and modified sub-routines to report them properly
Aug 24, 2002 - 23:00 determined Allegro to be unsuitable - reverting everything back to DirectX; implemented DirectInput keyboard translation
Aug 26, 2002 - 22:51 fixed the initial application window size to use the correct dimensions
Aug 27, 2002 - 18:23 streamlined the code to be more Windows friendly; app now goes to sleep when minimized
Sep 07, 2002 - 18:28 added fullscreen mode; corrected 8bpp palette init; GDI calls (e.g. file selector) still work
Sep 08, 2002 - 16:06 rewrote PCVideo init routines to support windowed/fullscreen mode switching
Sep 12, 2002 - 00:02 fixed 50Hz timer by using QueryPerformanceCounter
Sep 20, 2002 - 18:19 re-implemented DirectSound support; fixed timing problems - sound playback should no longer pop
Sep 21, 2002 - 15:35 LoadConfiguration & SaveConfiguration now use the cap32.cfg file instead of the Registry
Sep 25, 2002 - 22:49 full screen resolution is selectable in the Options dialog; auto-sizes visible portion; allows mode change while being fs
Sep 26, 2002 - 22:26 added scanline and line doubling (in software) rendering modes
Sep 28, 2002 - 17:38 added a speed slider to the General page of the Options dialog
Sep 29, 2002 - 19:31 added colour monitor and green screen option; switched to QueryPerformanceCounter for the FPS counter
Sep 29, 2002 - 23:03 added the 15 and 16 bpp green monitor colour maps - thanks to Ralf's Excel sheet!
Oct 02, 2002 - 23:43 added fault condition checks to zip_dir, zip_extract and load_snapshot
Oct 04, 2002 - 18:29 added fault condition checks to save_snapshot, load_dsk and save_dsk; added altered DSK check on exit
Oct 04, 2002 - 22:34 added disk drive activity indicator
Oct 07, 2002 - 17:48 fixed switching CPC monitor type "on-the-fly"; fixed surface restore in fullscreen mode
Oct 07, 2002 - 21:58 added line doubling (in hardware) rendering mode
Oct 16, 2002 - 22:18 added enumeration and initilization of all installed keyboards and joysticks
Oct 17, 2002 - 23:40 replaced the controls property page in the options dialog
Oct 28, 2002 - 19:50 added support for custom controls: CPC joystick functions can now be mapped to any attached input device(s)
Nov 01, 2002 - 15:54 added custom print routine for on-screen messages (e.g. FPS counter)
Nov 02, 2002 - 16:44 mouse cursor now auto-hides with no mouse movement for 2 seconds
Nov 10, 2002 - 17:38 added ROM patching to support the french and spanish CPC keyboard layouts
Nov 10, 2002 - 21:31 fixed PPI port C handler
Nov 12, 2002 - 22:08 changes to the OUT handler: GA and CRTC cannot be accessed at the same time; fixed the GA pen selection
Nov 13, 2002 - 22:48 tweaked the IN/OUT handlers a bit more
Dec 05, 2002 - 00:06 fixed the problem with the tape startup delay: the PPI Port C bit manipulation only considered 4 instead of 8 bits
Dec 08, 2002 - 22:05 updated the Z80_OUT_handler to accept FDC data on ports 0x7f and 0x7e, as per Kevin's I/O port document
Dec 10, 2002 - 23:50 print now draws double spaced in scanline mode: don't have to remove the text again this way
Dec 19, 2002 - 23:28 added 48 & 96 kHz audio options; added sanity checks for LoadConfiguration
Dec 21, 2002 - 15:50 PCAudio_init reports if selected sample rate is not supported; added empty path handling to LoadConfiguration
Dec 22, 2002 - 17:21 found a typo in my keyboard lookup table: CPC key 8 was returning the same as CPC key 0
Jan 12, 2003 - 01:05 added the ability to search for multiple extensions to zip_dir
Jan 12, 2003 - 15:57 completed processing of dropped dsk, sna and cdt files
Jan 15, 2003 - 17:30 added the removal of the temp file to process_drop when uncompressing zip archives
Jan 21, 2003 - 18:53 changed the window handle in all MessageBox calls from NULL to hAppWnd: errors display correctly in full-screen mode now
Jan 24, 2003 - 00:44 altered the validity check on loading expansion ROMs, as some may not contain a jump instruction at offset 0x06
Jan 25, 2003 - 16:49 fixed the FDC port handling in z80_in_handler: "Famous 5" loads now!
Jan 27, 2003 - 18:47 updated the resource file to support themed Windows XP controls
Jan 28, 2003 - 19:18 added insert_voc: converts a sound sample into a CDT direct recording block
Jan 30, 2003 - 20:37 added 24bpp display mode support
Jan 31, 2003 - 16:50 CPC speed slider range is now 50% to 800%, and can be set in 25% increments
Jan 31, 2003 - 22:42 AMSDOS is placed in ROM slot 7 if the config file does not yet exist
Feb 23, 2003 - 14:48 fixed the Windows system palette problems in 256 colour mode
Mar 04, 2003 - 21:04 removed the background brush in the app window class; replaced "return 0L" with "break" in WindowProc
Mar 11, 2003 - 22:38 emulation can now continue to run when focus is lost; added more invalid object checks to ensure clean exits
Mar 12, 2003 - 18:08 had to add the background brush again: fullscreen mode would otherwise not update the unused area
Mar 12, 2003 - 19:02 added the 'auto-pause on loss of focus' feature to the Options dialog
Mar 12, 2003 - 22:07 added the display of HRESULT codes for DirectDraw function calls
Mar 17, 2003 - 22:40 added a check_drvX call to the eject disk menu functions
Mar 22, 2003 - 18:39 added the ability to insert blank disks in either CPC drive; the new Disk page in the Options dialog allows you to choose the format; implemented the Flip Disk option to reverse sides
Mar 23, 2003 - 21:41 custom disk formats can now be specified in the config file; modified LoadConfiguration and SaveConfiguration to support this feature
Mar 29, 2003 - 16:40 tape motor is not turned on if there is no tape in the drive
Apr 02, 2003 - 21:31 changes to the Options dialog: moved the ROM slots to their own page; some cosmetic changes; remembers last page user was on
Apr 03, 2003 - 22:12 added the option to capture printer output to file; aborting a save dialog for a changed DSK now drops back to the emulation without taking any further action
Apr 07, 2003 - 19:09 modified the z80_OUT_handler to capture port writes for the MF2; added all the necessary bits for MF2 emulation, but for now it doesn't display the MF2 menu correctly (text is invisible!)...
Apr 07, 2003 - 21:59 doh! fixed the MF2 problem: the MF2 page-out port always set RAM bank0 instead if checking if the lower ROM was active
Apr 09, 2003 - 15:49 MF2 ROM is now restored at every reset to ensure the ROM area has not been corrupted by memory writes
Apr 13, 2003 - 16:18 added code to display the logo in the About box with a transparent background
Apr 16, 2003 - 16:18 joystick emulation can be toggled on/off; keyboard control assignments now override regular CPC keyboard actions; all dialogs now feature the "Caprice32 - " string to make identification easier; ZIP selector shows ZIP file name
Apr 26, 2003 - 14:03 added CaptureScreenshot to save the screen contents to a PNG file
Apr 26, 2003 - 16:25 finished screen capture implementation: added file selector and path/file storage to config file
May 05, 2003 - 22:46 updated the Audio page in the Options dialog with controls to choose the sample size and adjust the volume
May 06, 2003 - 18:59 load_snapshot and save_snapshot now use the v3 PSG information + the printer port data
May 13, 2003 - 17:41 fixed the file selector problem on drag and drop: the exit condition check was reversed
May 18, 2003 - 01:01 moved Gate Array memory handling to ga_memory_manager; save_snapshot correctly stores current RAM bank now
May 21, 2003 - 00:31 changed the colour palette generation to support an intensity level slider
May 21, 2003 - 14:42 added the Intensity slider control to the Video options
May 26, 2003 - 20:06 emulation loop needs to keep running to produce proper key events: fixes the Pause problem
May 28, 2003 - 13:59 modified the shadow of the print routine to make it more readable on a white background
May 29, 2003 - 15:09 implemented the info message display system and added strings for most emulator actions and keyboard shortcuts
May 30, 2003 - 12:17 added the tape PLAY/STOP button control for proper tape operation
Jun 02, 2003 - 15:05 if the CreateSurface call fails with video memory, it now attempts to allocate it in system memory
Jun 04, 2003 - 19:38 added the 'on printer port' drop-down to the Audio options page
Aug 10, 2003 - 14:35 z80_IN_handler: CRTC write only registers return 0; load_snapshot: fixed broken snapshot support (PPI values were written to the wrong ports!); digiblaster/soundplayer combined into one - changed from a drop down to a check box
May 19, 2004 - 23:13 removed all DirectX/Windows specific parts and replaced them (wherever possible) with the SDL equivalent
May 23, 2004 - 17:48 dropped double buffer scheme in favour of a back buffer/custom blit operation; fixed colour palette init in 8bpp mode; added support for half size render mode; back buffer is cleared in video_init(); replaced the SDL_Flip operation with an SDL_BlitSurface; initial ExitCondition is now EC_FRAME_COMPLETE to ensure we have a valid video memory pointer to start with
May 24, 2004 - 00:49 reintroduced snapshot_load & snapshot_save; modified vdu_init to update the two SDL_Rect structures to center or crop the CPC screen; introduced the dwXScale var to support the half size render mode
May 29, 2004 - 18:09 reintroduced tape_eject, tape_insert and tape_insert_voc; added sound support via the native SDL audio routines
*********
* z80.c *
*********
Oct 03, 2000 - 18:56 all un-prefixed opcodes done
Oct 07, 2000 - 11:04 all CB opcodes done
Oct 07, 2000 - 15:06 all DD opcodes done
Oct 07, 2000 - 15:23 all DD CB opcodes done
Oct 09, 2000 - 12:41 all ED, FD, and FD CB opcodes done
Oct 14, 2000 - 17:48 added interrupt processing to z80_getopcode
Oct 22, 2000 - 19:18 removed R register update from DDCB and FDCB opcode handlers
Oct 22, 2000 - 19:43 added break-point and trace capabilities
Oct 24, 2000 - 17:57 changed math based opcodes to always work with unsigned parameters
Oct 29, 2000 - 20:46 fixed 16 bit memory read/write opcodes (read both halves from the low byte!)
Oct 29, 2000 - 20:51 fixed LD L,byte; RRC r (used wrong registers - forgot to change them after copy!)
Nov 06, 2000 - 21:08 fixed a couple of IX/IY instructions (forgot to change a few I?h/I?l related opcodes!)
Nov 06, 2000 - 21:20 fixed some DDCB/FDCB instructions (one too many M cycles for BIT (I?+o) & co.)
Nov 07, 2000 - 18:58 complete overhaul of DDCB/FDCB instructions (offset byte handling was wrong!)
Jan 24, 2001 - 18:26 fixed LD (IX/IY + o), L and LD (IX/IY + o), H (uses L and H, not I?l and I?h!)
Feb 19, 2001 - 18:37 removed machine cycle specific code; added cycle count tables and 'wait state' routine
Mar 05, 2001 - 22:58 reworked all cycle count tables - verfied with the real CPC & an oscilloscope
Mar 29, 2001 - 19:10 fixed the timing problem (z80_wait_states was called after interrupts even if they were disabled!)
Apr 03, 2001 - 18:25 incorporated the changes from the MAME Z80 core v3.1 to v3.2 update
Apr 09, 2001 - 19:30 fixed the problem with some CPC programs crashing (offset for IX/IY instructions was unsigned!)
Jul 31, 2001 - 23:34 put the 'old' NOP cycle timing table back in
Nov 12, 2001 - 18:15 incorporated the changes from the MAME Z80 core v3.2 to v3.3 update
Nov 14, 2002 - 21:39 changed the length of processing an interrupt in IM2 from 28T to 76T
Feb 10, 2003 - 18:24 corrected the cycle count of CPI/CPIR & CPD/CPDR with the help of Richard's PlusTest
Feb 12, 2003 - 17:29 added the wait state adjustment on interrupts for a specific number of instructions
(see Richard's document on andercheran for the complete list)
Apr 07, 2003 - 19:10 added z80_mf2stop to emulate the NMI caused by the stop button of the MF2
Apr 07, 2003 - 22:48 added code to z80_execute to monitor when the MF2 finishes and has to be made 'invisible'
May 10, 2003 - 19:12 fixed the unofficial DDCB/FDCB RES/SET instructions: the unaltered value was
stored in the associated register; some minor code clean up
May 15, 2003 - 23:19 "Thomas the Tank Engine", "N.E.X.O.R." and "Jocky Wilson's Darts Compendium" work now:
DI did not clear the z80.EI_issued counter
**********
* tape.c *
**********
Nov 05, 2002 - 22:17
Nov 06, 2002 - 21:31 first test run - nada, zip, zilch - nothing happens...
Nov 07, 2002 - 11:52 doh! data bits were missing one half of their wave; OHMUMMY.CDT loads, but does not run yet
Nov 07, 2002 - 22:04 tapes with block id 0x11 seem to load now - enabling tape control through the motor bit fixed it: go figure!
Nov 07, 2002 - 23:26 added processing of blocks 0x10, 0x12, 0x13, 0x14
Nov 14, 2002 - 23:35 modified the pause to properly finish the previous pulse, if necessary
Dec 07, 2002 - 23:00 changed the points where Tape_SwitchLevel is called; level changes should now occur at the correct times
Jan 19, 2003 - 12:09 added support for the direct recording block (0x15)
Jan 28, 2003 - 22:33 VOC "tapes" work - problems with SpeedLock loaders must therefore be due to incorrect CDT emulation
Jan 29, 2003 - 19:14 fixed CDT loading: the pause-after-block value was read from the wrong location!
*********
* psg.c *
*********
Jul 07, 2001 - 16:07 basic functionality of sound_fill_buffer, converted from asm code
Jul 20, 2001 - 18:49 sound emulation works properly for the first time; tone and noise implemented
Jul 28, 2001 - 15:23 switched to the AY emulation from MAME
Jul 28, 2001 - 16:09 fixed the envelope problem: the amp_table was still being referenced as byte!
Aug 01, 2001 - 17:28 added code to support mono output
Aug 12, 2001 - 21:42 moved psg_reg_write() from cap32.cpp
Dec 08, 2002 - 10:43 properly integrated the tape noise into the mixing buffer
Apr 29, 2003 - 21:48 started to convert AyEmul source code from Pascal to C
Apr 30, 2003 - 23:39 continued with conversion
May 04, 2003 - 00:13 modified Synthesizer_Stereo16 for Caprice32 - new AY code works for the first time!
May 04, 2003 - 16:09 fixed the problem with the envelope period: the struct in TRegisterAY wasn't accessed properly
May 05, 2003 - 18:46 added alternate synthesizers for mono/stereo + 8/16 bits; some code cleanup
May 06, 2003 - 15:18 enabled 'tape noise' again
May 13, 2003 - 15:57 moved counter init to InitAYCounterVars; corrected the 'divide by zero' possibility in the
synthesizer routines: LoopCountInit calculation needs to take CPC speed into account
May 15, 2003 - 00:08 replaced the rand() call with Sergey's noise algorithm
May 23, 2003 - 14:58 added code to supress sound if the tone frequency is set to a value below 5, and no
envelope assigned to the channel
Jun 04, 2003 - 19:37 added support for Digiblaster/Soundplayer on the printer port
**********
* crtc.c *
**********
Oct 16, 2000 - 23:12 started conversion from assembly to C
Oct 17, 2000 - 19:25 finished converting main CRTC update loop
Oct 17, 2000 - 22:04 added framework for mode draw handlers
Oct 25, 2000 - 22:03 changed all CRTC counters to be only 8 bits wide; fixed address calculation
Oct 30, 2000 - 19:03 fixed CPC screen address line advancement (test should have been for a _reset_ bit!)
Mar 20, 2001 - 16:00 added draw_mode2
Jun 20, 2001 - 23:24 added drawing routines for 32bpp video modes
Jul 04, 2001 - 22:28 16bpp rendering; updated 8bpp code with VDU visible region limiting
Sep 26, 2002 - 22:39 moved rendering code to separate files; added line doubling (in software) code
Oct 07, 2002 - 21:58 removed the CPC.scr_max test in write_video_data; added support for variable line spacing
May 23, 2004 - 17:38 added some preliminary VDU frame cropping to reduce the amount of data written to the video buffer
May 24, 2004 - 00:44 moved the write_video_data code into the body of access_video_memory
Jul 08, 2004 - 16:58 started implementing Richard's assembly CRTC emulation in C
*********
* fdc.c *
*********
Nov 08, 2000 - 18:02 started conversion of assembly FDC routines to C
Nov 22, 2000 - 17:50 added fdc_read_status()
Dec 19, 2000 - 00:05 added fdc_seek()
Jan 15, 2001 - 16:52 fdc_read() done
Jan 17, 2001 - 19:15 updated/fixed fdc_read(), fdc_readID, fdc_intstat; added fdc_recalib
Jan 18, 2001 - 23:43 inlined cmd_read(); added #defines for loading the result buffer; added fdc_drvstat()
Jan 24, 2001 - 22:26 fixed fdc_readID() (the result got overwritten by LOAD_RESULT_WITH_CHRN!)
Aug 03, 2001 - 00:07 added fdc_write()
Aug 04, 2001 - 10:40 added fdc_writeID()
Oct 06, 2001 - 23:21 added fdc_readtrk()
Oct 07, 2001 - 11:37 got fdc_readtrk() to work properly
Jan 12, 2003 - 18:49 fdc_drvstat now reports an error condition when accessing side 2 on a one sided disk
Jan 21, 2003 - 18:13 mod to fdc_drvstat was incorrect: drive falls back to 1st side on a single head drive
Jan 25, 2003 - 15:57 data transfers can now time out and will be reported via OVERRUN condition
Feb 05, 2003 - 19:42 changed the OVERRUN_TIMEOUT to 26µs as per NEC's documentation
Feb 08, 2003 - 16:26 added a delay to fdc_read_status in execution phase: FDC first indicates busy before
starting data transfer ("Last Mission" loads)
Feb 10, 2003 - 21:45 fixed cmd_read: multi-sector reads end on the first sector that is found to have the
opposite of the requested AM ("Nigel Mansell's Grand Prix" loads)
Feb 11, 2003 - 18:35 increased OVERRUN_TIMEOUT again ("Puffy's Saga" loads)
Mar 16, 2003 - 00:19 added the missing scan equal, scan low or equal and scan high or equal commands
Mar 16, 2003 - 12:22 modified find_sector: if a sector cannot be found, table index should be 0
Mar 16, 2003 - 16:12 fdc_seek now only changes track if the drive is ready (i.e. has a disk inserted)
Mar 17, 2003 - 22:42 updated fdc_intstat to report status changes (drive ready/not ready)
Mar 17, 2003 - 23:04 fixed fdc_drvstat: reset ready if motor is off or no disk inserted
Mar 22, 2003 - 18:54 added support for the "flipped" disk condition
Jun 03, 2003 - 18:34 fixed Bad Cylinder and No Cylinder handling when a sector cannot be found:
("Starfox - CPM version" loads)