Use a stock DOS3.3 slave disk & fixed the tests
This commit is contained in:
parent
12e3eb2218
commit
01ffd7e781
|
@ -37,7 +37,7 @@ Download `apple2e.rom` from
|
|||
|
||||
Some disk images are used for the tests
|
||||
|
||||
* dos33.dsk from e.g. [mirrors.apple2.org.za](https://mirrors.apple2.org.za/ftp.apple.asimov.net/images/masters/DOS3.3SP.dsk)
|
||||
* dos33.dsk from e.g. [mirrors.apple2.org.za](https://mirrors.apple2.org.za/ftp.apple.asimov.net/images/masters/DOS33_blank_with_integer_basic.DSK)
|
||||
* prodos19.dsk from e.g. [mirrors.apple2.org.za](https://mirrors.apple2.org.za/ftp.apple.asimov.net/images/masters/prodos/ProDOS_1_9.dsk)
|
||||
|
||||
### Running the tests
|
||||
|
|
|
@ -19,7 +19,7 @@ const dosDiskImage = "dos33.dsk"
|
|||
func runDos33Boot(t *testing.T) {
|
||||
// Boot up DOS3.3
|
||||
utils.RunUntilBreakPoint(t, 0x0801, 2, false, "Boot0")
|
||||
utils.RunUntilBreakPoint(t, 0x3700, 1, false, "Boot1") // $3700 is for master disk, $b700 for slave
|
||||
utils.RunUntilBreakPoint(t, 0xb700, 1, false, "Boot1") // $3700 is for master disk, $b700 for a slave disk
|
||||
utils.RunUntilBreakPoint(t, 0x9d84, 3, false, "Boot2")
|
||||
utils.RunUntilBreakPoint(t, 0xd7d2, 2, false, "JMP to basic interpreter NEWSTT")
|
||||
}
|
||||
|
|
|
@ -72,14 +72,14 @@ func TestDos33RwtsWriteRead(t *testing.T) {
|
|||
writeBytes(start+0x27, []uint8{0xa0, 0x03}) // LDY #$03
|
||||
writeBytes(start+0x29, []uint8{0x91, 0x00}) // STA ($00),Y
|
||||
writeBytes(start+0x2b, []uint8{0x20, 0xe3, 0x03}) // JSR $03E3 Relocate pointer to parms
|
||||
writeBytes(start+0x2f, []uint8{0x20, 0xd9, 0x03}) // JSR $03D9 RWTS
|
||||
writeBytes(start+0x32, []uint8{0x00}) // BRK
|
||||
writeBytes(start+0x2e, []uint8{0x20, 0xd9, 0x03}) // JSR $03D9 RWTS
|
||||
writeBytes(start+0x31, []uint8{0x00}) // BRK
|
||||
|
||||
cpu.State.PC = uint16(start)
|
||||
utils.RunUntilBreakPoint(t, 0xb944, 128, false, "RWTS RDADDR")
|
||||
utils.RunUntilBreakPoint(t, 0xb82a, 8, false, "RWTS WRITESEC")
|
||||
utils.RunUntilBreakPoint(t, 0xb7ba, 8, false, "RWTS ENTERWTS")
|
||||
utils.RunUntilBreakPoint(t, uint16(start+0x32), 1, false, "Write routine break")
|
||||
utils.RunUntilBreakPoint(t, uint16(start+0x31), 1, false, "Write routine break")
|
||||
|
||||
// Now run some modified code to read the same track/sector
|
||||
writeBytes(start+0x13, []uint8{0xa9, uint8(readBuffer & 0xff)}) // LDA readBuffer lsb
|
||||
|
@ -93,7 +93,7 @@ func TestDos33RwtsWriteRead(t *testing.T) {
|
|||
writeBytes(start+0x1d, []uint8{0x91, 0x00}) // STA ($00),Y
|
||||
|
||||
cpu.State.PC = uint16(start)
|
||||
utils.RunUntilBreakPoint(t, uint16(start+0x32), 1, false, "Read routine break")
|
||||
utils.RunUntilBreakPoint(t, uint16(start+0x31), 1, false, "Read routine break")
|
||||
|
||||
// Check the read bytes match the witten ones
|
||||
for i := 0; i < 0x100; i++ {
|
||||
|
|
Loading…
Reference in New Issue