my_modules is simply modules now

This commit is contained in:
Jeff Parsons 2014-11-11 08:19:48 -08:00 • committed by jeffpar
commit e0012c3c62
139 changed files with 187 additions and 197 deletions

View file

@ -5,12 +5,12 @@ The [IBM PC AT "Rev 3"](/devices/pc/machine/5170/ega/1152kb/rev3/) machine confi
v1.15.5 of PCjs now, which includes the following fixes:
+ The BIOS expects memory refresh to occur roughly every 16us, which I've resolved by tying the state
of the refresh bit in port 0x61 to bit 6 of the CPU cycle count (see *in8042RWReg()* in [chipset.js](/my_modules/pcjs-client/lib/chipset.js));
of the refresh bit in port 0x61 to bit 6 of the CPU cycle count (see *in8042RWReg()* in [chipset.js](/modules/pcjs/lib/chipset.js));
the original AT BIOS was satisfied with a refresh bit that merely alternated, whereas the new AT BIOS
is much more particular about the rate at which that bit changes, since many hard-coded delay-loops have
now been replaced with code that waits for a specific number of refresh cycles.
+ The 8042 Keyboard Controller emulation needed a few more tweaks, mainly with respect to what happens
when the keyboard's "clock" line is toggled (see *set8042CmdData()* in [chipset.js](/my_modules/pcjs-client/lib/chipset.js)).
when the keyboard's "clock" line is toggled (see *set8042CmdData()* in [chipset.js](/modules/pcjs/lib/chipset.js)).
+ The Floppy Disk Controller needed to add support for the "READ ID" command, in order for the BIOS
"double-stepping" test to work (double-stepping is required on an 80-track drive when attempting to read
a 40-track diskette).
@ -23,7 +23,7 @@ with a BIOS that's almost 30 years old.
after installing a second hard drive. So, when the CMOS reports only one hard drive installed, the BIOS
probes for a second hard drive anyway, and it does so by simply writing the drive number to the ATC's "DRVHD"
register and then immediately reading the "STATUS" register, without issuing any intervening command.
It was an easy fix to *outATCDrvHd()* in [hdc.js](/my_modules/pcjs-client/lib/hdc.js), but I was surprised
It was an easy fix to *outATCDrvHd()* in [hdc.js](/modules/pcjs/lib/hdc.js), but I was surprised
to discover that the ATC had this behavior, and now I'm wondering how many other I/O operations require
immediate "STATUS" register updates.