Use a stock DOS3.3 slave disk & fixed the tests

This commit is contained in:
Will Angenent 2018-05-27 20:37:26 +01:00
parent 12e3eb2218
commit 01ffd7e781
3 changed files with 6 additions and 6 deletions

View File

@ -37,7 +37,7 @@ Download `apple2e.rom` from
Some disk images are used for the tests 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) * 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 ### Running the tests

View File

@ -19,7 +19,7 @@ const dosDiskImage = "dos33.dsk"
func runDos33Boot(t *testing.T) { func runDos33Boot(t *testing.T) {
// Boot up DOS3.3 // Boot up DOS3.3
utils.RunUntilBreakPoint(t, 0x0801, 2, false, "Boot0") 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, 0x9d84, 3, false, "Boot2")
utils.RunUntilBreakPoint(t, 0xd7d2, 2, false, "JMP to basic interpreter NEWSTT") utils.RunUntilBreakPoint(t, 0xd7d2, 2, false, "JMP to basic interpreter NEWSTT")
} }

View File

@ -72,14 +72,14 @@ func TestDos33RwtsWriteRead(t *testing.T) {
writeBytes(start+0x27, []uint8{0xa0, 0x03}) // LDY #$03 writeBytes(start+0x27, []uint8{0xa0, 0x03}) // LDY #$03
writeBytes(start+0x29, []uint8{0x91, 0x00}) // STA ($00),Y writeBytes(start+0x29, []uint8{0x91, 0x00}) // STA ($00),Y
writeBytes(start+0x2b, []uint8{0x20, 0xe3, 0x03}) // JSR $03E3 Relocate pointer to parms 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+0x2e, []uint8{0x20, 0xd9, 0x03}) // JSR $03D9 RWTS
writeBytes(start+0x32, []uint8{0x00}) // BRK writeBytes(start+0x31, []uint8{0x00}) // BRK
cpu.State.PC = uint16(start) cpu.State.PC = uint16(start)
utils.RunUntilBreakPoint(t, 0xb944, 128, false, "RWTS RDADDR") utils.RunUntilBreakPoint(t, 0xb944, 128, false, "RWTS RDADDR")
utils.RunUntilBreakPoint(t, 0xb82a, 8, false, "RWTS WRITESEC") utils.RunUntilBreakPoint(t, 0xb82a, 8, false, "RWTS WRITESEC")
utils.RunUntilBreakPoint(t, 0xb7ba, 8, false, "RWTS ENTERWTS") 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 // Now run some modified code to read the same track/sector
writeBytes(start+0x13, []uint8{0xa9, uint8(readBuffer & 0xff)}) // LDA readBuffer lsb 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 writeBytes(start+0x1d, []uint8{0x91, 0x00}) // STA ($00),Y
cpu.State.PC = uint16(start) 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 // Check the read bytes match the witten ones
for i := 0; i < 0x100; i++ { for i := 0; i < 0x100; i++ {