Skip to content

Commit

Permalink
HDD r/w test: add test for reading block to ROM
Browse files Browse the repository at this point in the history
  • Loading branch information
tomcw committed Dec 11, 2021
1 parent dade917 commit 0e3dc68
Show file tree
Hide file tree
Showing 3 changed files with 61 additions and 19 deletions.
49 changes: 42 additions & 7 deletions Projects/GH1007-HDD-RW-IO-Boundary/HDD-RW-IO-Boundary.a
Expand Up @@ -25,9 +25,12 @@ entrypoint
sta saveFF

;
; Reads from block #1
; Reads from block #1, when LC is write-enabled
;

bit $c081
bit $c081 ; Read ROM; write RAM; use $D000 bank 2 (RESET default)

lda #<mem_blk_r_data
sta $fe
lda #>mem_blk_r_data
Expand Down Expand Up @@ -72,9 +75,32 @@ mli0_2 !byte >param ; param_h
bne loop1

;
; Writes to block #1
; Read from block #1 to LC, when LC is write-protected
;

bit $c082 ; Read ROM; no write; use $D000 bank 2

lda #$00
sta param_mem_block_l
lda #$D0
sta param_mem_block_h
jsr ENTRYPOINT_SMARTPORT
!zone data
mli0b_0 !byte CMD_READ
mli0b_1 !byte <param ; param_l
mli0b_2 !byte >param ; param_h
!zone code
bcs +
jmp error_read_lc_protected
+

;
; Writes to block #1, when LC is write-enabled
;

bit $c081
bit $c081 ; Read ROM; write RAM; use $D000 bank 2 (RESET default)

; clear $BE00-BFFF
lda #0
sta $fe
Expand Down Expand Up @@ -172,18 +198,24 @@ error_read_io
jsr print
jmp done

error_write
error_read_lc_protected
lda #<msg3
ldx #>msg3
jsr print
jmp done

error_write_io
error_write
lda #<msg4
ldx #>msg4
jsr print
jmp done

error_write_io
lda #<msg5
ldx #>msg5
jsr print
jmp done

;

done
Expand Down Expand Up @@ -273,10 +305,13 @@ msg0End !text 0

msg1 !text "Read error for block 1!",0xd,0xa
msg1End !text 0
msg2 !text "Read from I/O succeeded when it should have failed!",0xd,0xa
msg2 !text "Read block to I/O succeeded when it should have failed!",0xd,0xa
msg2End !text 0

msg3 !text "Write error for block 1!",0xd,0xa
msg3 !text "Read block to ROM succeeded when it should have failed!",0xd,0xa
msg3End !text 0
msg4 !text "Write to I/O succeeded when it should have failed!",0xd,0xa

msg4 !text "Write error for block 1!",0xd,0xa
msg4End !text 0
msg5 !text "Write block from I/O succeeded when it should have failed!",0xd,0xa
msg5End !text 0
7 changes: 7 additions & 0 deletions Projects/GH1007-HDD-RW-IO-Boundary/debug.txt
Expand Up @@ -6,6 +6,10 @@ db mli0_0
db mli0_1
db mli0_2

db mli0b_0
db mli0b_1
db mli0b_2

db mli1_0
db mli1_1
db mli1_2
Expand All @@ -17,3 +21,6 @@ db mli2_2
asc msg0:msg0End
asc msg1:msg1End
asc msg2:msg2End
asc msg3:msg3End
asc msg4:msg4End
asc msg5:msg5End
24 changes: 12 additions & 12 deletions v2/HDD-RW-IO-Boundary.aws.yaml
@@ -1,4 +1,4 @@
# Date-stamp: Thu Dec 9 21:44:45 2021
# Date-stamp: Sat Dec 11 14:59:26 2021

---
File_hdr:
Expand Down Expand Up @@ -435,17 +435,17 @@ Unit:
5F40: FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
5F80: FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
5FC0: FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
6000: A5FC8D2661A5FD8D2761A5FE8D2861A5FF8D2961A93085FEA96185FFA000B1FE8D2C61C8B1FE8D2D61200DC7012A612A2901A002D1FEF00AB1FED0034CD0604C
6040: DA60A5FE18690385FE9002E6FFA000B1FEC811FED0C6A90085FEA9BE85FFA000A900A2021891FEC8D0FBE6FFCAD0F6A94285FEA96185FFA000B1FE8D2C61C8B1
6080: FE8D2D61200DC7022A612A2901A002D1FEF00AB1FED0034CE4604CEE60A5FE18690385FE9002E6FFA000B1FEC811FED0C6A9008D2C61A9BE8D2D61200DC7022A
60C0: 6190034CE460A960A261200D614CF860A97CA261200D614CF860A996A261200D614CF860A9CCA261200D614CF860A9E7A261200D614CF860AD266185FCAD2761
6100: 85FDAD286185FEAD296185FF6085FE86FFA000B1FEF00E0980AA98488A20EDFD68A8C8D0EE600000000003000000010000BE0001BE01FFBF0100CF0100D00000
6140: 000000BE0001BE01FFBF0100CF0100D00000FE0001FE0000FF00FFFF0000000048444420726561642026207772697465207465737473204F4B0D0A0052656164
6180: 206572726F7220666F7220626C6F636B2031210D0A00526561642066726F6D20492F4F20737563636565646564207768656E2069742073686F756C6420686176
61C0: 65206661696C6564210D0A005772697465206572726F7220666F7220626C6F636B2031210D0A00577269746520746F20492F4F20737563636565646564207768
6200: 656E2069742073686F756C642068617665206661696C6564210D0A00FFFF0000FFFF0000FFFF0000EAC40000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
6240: FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF00008F880000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
6280: FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
6000: A5FC8D5461A5FD8D5561A5FE8D5661A5FF8D57612C81C02C81C0A95E85FEA96185FFA000B1FE8D5A61C8B1FE8D5B61200DC70158612A2901A002D1FEF00AB1FE
6040: D0034CF4604CFE60A5FE18690385FE9002E6FFA000B1FEC811FED0C62C82C0A9008D5A61A9D08D5B61200DC7015861B0034C08612C81C02C81C0A90085FEA9BE
6080: 85FFA000A900A2021891FEC8D0FBE6FFCAD0F6A97085FEA96185FFA000B1FE8D5A61C8B1FE8D5B61200DC70258612A2901A002D1FEF00AB1FED0034C12614C1C
60C0: 61A5FE18690385FE9002E6FFA000B1FEC811FED0C6A9008D5A61A9BE8D5B61200DC702586190034C1261A98EA261203B614C2661A9AAA261203B614C2661A9C4
6100: A261203B614C2661A9FEA261203B614C2661A938A262203B614C2661A953A262203B614C2661AD546185FCAD556185FDAD566185FEAD576185FF6085FE86FFA0
6140: 00B1FEF00E0980AA98488A20EDFD68A8C8D0EE600000000003000000010000BE0001BE01FFBF0100CF0100D00000000000BE0001BE01FFBF0100CF0100D00000
6180: FE0001FE0000FF00FFFF0000000048444420726561642026207772697465207465737473204F4B0D0A0052656164206572726F7220666F7220626C6F636B2031
61C0: 210D0A005265616420626C6F636B20746F20492F4F20737563636565646564207768656E2069742073686F756C642068617665206661696C6564210D0A005265
6200: 616420626C6F636B20746F20524F4D20737563636565646564207768656E2069742073686F756C642068617665206661696C6564210D0A005772697465206572
6240: 726F7220666F7220626C6F636B2031210D0A00577269746520626C6F636B2066726F6D20492F4F20737563636565646564207768656E2069742073686F756C64
6280: 2068617665206661696C6564210D0A00FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
62C0: FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
6300: FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
6340: FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
Expand Down

0 comments on commit 0e3dc68

Please sign in to comment.