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
* 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

View File

@ -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")
}

View File

@ -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++ {