From 01ffd7e781d5b94b4f88245fac5d8f3e1823dfb3 Mon Sep 17 00:00:00 2001 From: Will Angenent Date: Sun, 27 May 2018 20:37:26 +0100 Subject: [PATCH] Use a stock DOS3.3 slave disk & fixed the tests --- README.md | 2 +- dos33_boot_test.go | 2 +- rwts_write_test.go | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index e72f3a2..e7cfa76 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/dos33_boot_test.go b/dos33_boot_test.go index 04f63c6..a76afd2 100644 --- a/dos33_boot_test.go +++ b/dos33_boot_test.go @@ -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") } diff --git a/rwts_write_test.go b/rwts_write_test.go index 7470004..071bca2 100644 --- a/rwts_write_test.go +++ b/rwts_write_test.go @@ -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++ {