mirror of
https://github.com/mauiaaron/apple2.git
synced 2025-03-21 05:32:04 +00:00
No disk in drive (or invalid track) should return 0xFF
- Bug introduced in e01e437 - Bugfix allows U5 Journey Onward to work =P
This commit is contained in:
parent
0cb3086622
commit
966ba0a2d8
src
@ -486,7 +486,6 @@ GLUE_C_READ(disk_read_write_byte)
|
||||
uint8_t value = 0xFF;
|
||||
do {
|
||||
if (disk6.disk[disk6.drive].fp == NULL) {
|
||||
value = 0x00;
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -543,6 +543,52 @@ TEST test_boot_disk() {
|
||||
PASS();
|
||||
}
|
||||
|
||||
#define ASM_INIT() \
|
||||
test_type_input( \
|
||||
"CALL-151\r" \
|
||||
"!\r" \
|
||||
"1E00: NOP\r" \
|
||||
)
|
||||
|
||||
#define ASM_TRIGGER_WATCHPT() \
|
||||
test_type_input( \
|
||||
" LDA #FF\r" \
|
||||
" STA $1F33\r" \
|
||||
)
|
||||
|
||||
#define ASM_TEST_DISK_READ_NULL() \
|
||||
test_type_input( \
|
||||
" LDA $C0E9\r" /* drive on */ \
|
||||
" LDA $C0EB\r" /* switch to drive 2 */ \
|
||||
" LDA #00\r" \
|
||||
" LDA $C0EC\r" /* read byte */ \
|
||||
" STA $1F43\r" /* save to testout addr */ \
|
||||
)
|
||||
|
||||
#define ASM_DONE() test_type_input("\r")
|
||||
|
||||
#define ASM_GO() test_type_input("1E00G\r")
|
||||
|
||||
TEST test_read_null_bytes() {
|
||||
BOOT_TO_DOS();
|
||||
|
||||
apple_ii_64k[0][WATCHPOINT_ADDR] = 0x00;
|
||||
apple_ii_64k[0][TESTOUT_ADDR] = 0x00;
|
||||
|
||||
ASM_INIT();
|
||||
ASM_TEST_DISK_READ_NULL();
|
||||
ASM_TRIGGER_WATCHPT();
|
||||
ASM_DONE();
|
||||
ASM_GO();
|
||||
|
||||
c_debugger_go();
|
||||
|
||||
ASSERT(apple_ii_64k[0][WATCHPOINT_ADDR] == TEST_FINISHED);
|
||||
ASSERT(apple_ii_64k[0][TESTOUT_ADDR] == 0xFF);
|
||||
|
||||
PASS();
|
||||
}
|
||||
|
||||
#define SAVE_SHA1 "B721C61BD10E28F9B833C5F661AA60C73B2D9F74"
|
||||
TEST test_savehello_dsk() {
|
||||
|
||||
@ -1019,6 +1065,8 @@ GREATEST_SUITE(test_suite_disk) {
|
||||
|
||||
RUN_TESTp(test_boot_disk);
|
||||
|
||||
RUN_TESTp(test_read_null_bytes);
|
||||
|
||||
RUN_TESTp(test_savehello_dsk);
|
||||
RUN_TESTp(test_savehello_nib);
|
||||
RUN_TESTp(test_savehello_po);
|
||||
|
Loading…
x
Reference in New Issue
Block a user