diff --git a/src/main.rs b/src/main.rs index 76d8dcd..d961e78 100644 --- a/src/main.rs +++ b/src/main.rs @@ -14,7 +14,7 @@ struct Memory { } impl Memory { - const WOZ_MONITOR: &[u8; 256] = include_bytes!("../woz_monitor/build/woz_monitor.bin"); + const WOZ_MONITOR: &'static [u8; 256] = include_bytes!("../woz_monitor/build/woz_monitor.bin"); const WOZ_MONITOR_OFFSET: TargetAddress = 0xFF00; const PIA_OFFSET: TargetAddress = 0xD010; diff --git a/tests/data/add/main.s b/tests/data/add/main.s index 675933a..b1a4472 100644 --- a/tests/data/add/main.s +++ b/tests/data/add/main.s @@ -1,6 +1,6 @@ -.org $800 +.org 0x800 main: - lda #$1 - adc #$7f - .byte $02 + lda #0x1 + adc #0x7f + .byte 0x02 diff --git a/tests/data/add_flags/main.s b/tests/data/add_flags/main.s index c8984d9..a3cc519 100644 --- a/tests/data/add_flags/main.s +++ b/tests/data/add_flags/main.s @@ -1,5 +1,5 @@ -.org $800 +.org 0x800 main: adc 0 - .byte $02 + .byte 0x02 diff --git a/tests/data/and/main.s b/tests/data/and/main.s index 351b126..da33cfc 100644 --- a/tests/data/and/main.s +++ b/tests/data/and/main.s @@ -1,5 +1,5 @@ -.org $800 +.org 0x800 main: - and $0f - .byte $02 + and 0x0f + .byte 0x02 diff --git a/tests/data/asl_accumulator/main.s b/tests/data/asl_accumulator/main.s index baae2ba..105b890 100644 --- a/tests/data/asl_accumulator/main.s +++ b/tests/data/asl_accumulator/main.s @@ -1,5 +1,5 @@ -.org $800 +.org 0x800 main: asl a - .byte $02 + .byte 0x02 diff --git a/tests/data/asl_memory/main.s b/tests/data/asl_memory/main.s index cb4ac63..ca79351 100644 --- a/tests/data/asl_memory/main.s +++ b/tests/data/asl_memory/main.s @@ -1,5 +1,5 @@ -.org $800 +.org 0x800 main: - asl $ff - .byte $02 + asl 0xff + .byte 0x02 diff --git a/tests/data/bit/main.s b/tests/data/bit/main.s index 9542454..ed19cc4 100644 --- a/tests/data/bit/main.s +++ b/tests/data/bit/main.s @@ -1,5 +1,5 @@ -.org $800 +.org 0x800 main: - bit $10 - .byte $02 + bit 0x10 + .byte 0x02 diff --git a/tests/data/bpl/main.s b/tests/data/bpl/main.s index aa51d56..594c4d1 100644 --- a/tests/data/bpl/main.s +++ b/tests/data/bpl/main.s @@ -1,10 +1,10 @@ -.org $800 +.org 0x800 main: - lda #$10 - ldx #$4 + lda #0x10 + ldx #0x4 loop: - adc $20,x + adc 0x20,x dex bpl loop - .byte $02 + .byte 0x02 diff --git a/tests/data/clc/main.s b/tests/data/clc/main.s index ee9d093..4edafbe 100644 --- a/tests/data/clc/main.s +++ b/tests/data/clc/main.s @@ -1,5 +1,5 @@ -.org $800 +.org 0x800 main: clc - .byte $02 + .byte 0x02 diff --git a/tests/data/clv/main.s b/tests/data/clv/main.s index 8a29acb..e64a0f4 100644 --- a/tests/data/clv/main.s +++ b/tests/data/clv/main.s @@ -1,5 +1,5 @@ -.org $800 +.org 0x800 main: clv - .byte $02 + .byte 0x02 diff --git a/tests/data/cmp/main.s b/tests/data/cmp/main.s index 298f537..7b5e153 100644 --- a/tests/data/cmp/main.s +++ b/tests/data/cmp/main.s @@ -1,5 +1,5 @@ -.org $800 +.org 0x800 main: - cmp $00 - .byte $02 + cmp 0x00 + .byte 0x02 diff --git a/tests/data/cpx/main.s b/tests/data/cpx/main.s index 80ae791..faa7e06 100644 --- a/tests/data/cpx/main.s +++ b/tests/data/cpx/main.s @@ -1,5 +1,5 @@ -.org $800 +.org 0x800 main: - cpx $00 - .byte $02 + cpx 0x00 + .byte 0x02 diff --git a/tests/data/cpy/main.s b/tests/data/cpy/main.s index efb3ac2..3236df0 100644 --- a/tests/data/cpy/main.s +++ b/tests/data/cpy/main.s @@ -1,5 +1,5 @@ -.org $800 +.org 0x800 main: - cpy $00 - .byte $02 + cpy 0x00 + .byte 0x02 diff --git a/tests/data/dec/main.s b/tests/data/dec/main.s index 894c694..777b514 100644 --- a/tests/data/dec/main.s +++ b/tests/data/dec/main.s @@ -1,5 +1,5 @@ -.org $800 +.org 0x800 main: - dec $f2 - .byte $02 + dec 0xf2 + .byte 0x02 diff --git a/tests/data/dex/main.s b/tests/data/dex/main.s index 644ebe8..d2214d2 100644 --- a/tests/data/dex/main.s +++ b/tests/data/dex/main.s @@ -1,5 +1,5 @@ -.org $800 +.org 0x800 main: dex - .byte $02 + .byte 0x02 diff --git a/tests/data/dey/main.s b/tests/data/dey/main.s index 8e5c595..b3682b2 100644 --- a/tests/data/dey/main.s +++ b/tests/data/dey/main.s @@ -1,5 +1,5 @@ -.org $800 +.org 0x800 main: dey - .byte $02 + .byte 0x02 diff --git a/tests/data/eor/main.s b/tests/data/eor/main.s index be6bd38..951cf96 100644 --- a/tests/data/eor/main.s +++ b/tests/data/eor/main.s @@ -1,5 +1,5 @@ -.org $800 +.org 0x800 main: - eor $f - .byte $02 + eor 0xf + .byte 0x02 diff --git a/tests/data/inc/main.s b/tests/data/inc/main.s index 295247e..23fec09 100644 --- a/tests/data/inc/main.s +++ b/tests/data/inc/main.s @@ -1,5 +1,5 @@ -.org $800 +.org 0x800 main: - inc $f2 - .byte $02 + inc 0xf2 + .byte 0x02 diff --git a/tests/data/inx/main.s b/tests/data/inx/main.s index d2c35d3..f0d1bf5 100644 --- a/tests/data/inx/main.s +++ b/tests/data/inx/main.s @@ -1,5 +1,5 @@ -.org $800 +.org 0x800 main: inx - .byte $02 + .byte 0x02 diff --git a/tests/data/iny/main.s b/tests/data/iny/main.s index 9d9a924..d7c2e2f 100644 --- a/tests/data/iny/main.s +++ b/tests/data/iny/main.s @@ -1,5 +1,5 @@ -.org $800 +.org 0x800 main: iny - .byte $02 + .byte 0x02 diff --git a/tests/data/jmp/main.s b/tests/data/jmp/main.s index 64ba476..08ce28c 100644 --- a/tests/data/jmp/main.s +++ b/tests/data/jmp/main.s @@ -1,4 +1,4 @@ -.org $800 +.org 0x800 main: jmp add @@ -7,6 +7,6 @@ main: nop add: - lda #$1 - adc #$7f - .byte $02 + lda #0x1 + adc #0x7f + .byte 0x02 diff --git a/tests/data/jsr/main.s b/tests/data/jsr/main.s index e4d7c9d..c16266b 100644 --- a/tests/data/jsr/main.s +++ b/tests/data/jsr/main.s @@ -1,4 +1,4 @@ -.org $800 +.org 0x800 main: jsr test @@ -6,4 +6,4 @@ main: test: // End test - .byte $02 + .byte 0x02 diff --git a/tests/data/lda_absolute/main.s b/tests/data/lda_absolute/main.s index 86a53dc..8b30a76 100644 --- a/tests/data/lda_absolute/main.s +++ b/tests/data/lda_absolute/main.s @@ -1,6 +1,6 @@ -.org $800 +.org 0x800 main: // Load memory addr 0 - lda $1234 - .byte $02 + lda 0x1234 + .byte 0x02 diff --git a/tests/data/lda_absolute_x_indexed/main.s b/tests/data/lda_absolute_x_indexed/main.s index e521e12..080d728 100644 --- a/tests/data/lda_absolute_x_indexed/main.s +++ b/tests/data/lda_absolute_x_indexed/main.s @@ -1,6 +1,6 @@ -.org $800 +.org 0x800 main: // Load memory addr 0x1234 + x - lda $1234,x - .byte $02 + lda 0x1234,x + .byte 0x02 diff --git a/tests/data/lda_absolute_y_indexed/main.s b/tests/data/lda_absolute_y_indexed/main.s index 4ff9403..87255df 100644 --- a/tests/data/lda_absolute_y_indexed/main.s +++ b/tests/data/lda_absolute_y_indexed/main.s @@ -1,6 +1,6 @@ -.org $800 +.org 0x800 main: // Load memory addr 0x1234 + y - lda $1234,y - .byte $02 + lda 0x1234,y + .byte 0x02 diff --git a/tests/data/lda_indirect_x_indexed/main.s b/tests/data/lda_indirect_x_indexed/main.s index 6633b14..7980d04 100644 --- a/tests/data/lda_indirect_x_indexed/main.s +++ b/tests/data/lda_indirect_x_indexed/main.s @@ -1,6 +1,6 @@ -.org $800 +.org 0x800 main: // A = ((5 + x)) - lda ($5,x) - .byte $02 + lda (0x5,x) + .byte 0x02 diff --git a/tests/data/lda_indirect_y_indexed/main.s b/tests/data/lda_indirect_y_indexed/main.s index 15d7361..119268b 100644 --- a/tests/data/lda_indirect_y_indexed/main.s +++ b/tests/data/lda_indirect_y_indexed/main.s @@ -1,6 +1,6 @@ -.org $800 +.org 0x800 main: // A = ((5) + y) - lda ($5),y - .byte $02 + lda (0x5),y + .byte 0x02 diff --git a/tests/data/lda_zeropage/main.s b/tests/data/lda_zeropage/main.s index d36b83c..933fad6 100644 --- a/tests/data/lda_zeropage/main.s +++ b/tests/data/lda_zeropage/main.s @@ -1,6 +1,6 @@ -.org $800 +.org 0x800 main: // Load memory addr 0 - lda $0 - .byte $02 + lda 0x0 + .byte 0x02 diff --git a/tests/data/lda_zeropage_x_indexed/main.s b/tests/data/lda_zeropage_x_indexed/main.s index 530ae1f..3ae8f9b 100644 --- a/tests/data/lda_zeropage_x_indexed/main.s +++ b/tests/data/lda_zeropage_x_indexed/main.s @@ -1,6 +1,6 @@ -.org $800 +.org 0x800 main: // Load memory addr x + 5 - lda $5,x - .byte $02 + lda 0x5,x + .byte 0x02 diff --git a/tests/data/lsr_accumulator/main.s b/tests/data/lsr_accumulator/main.s index 639bd48..bc3b55e 100644 --- a/tests/data/lsr_accumulator/main.s +++ b/tests/data/lsr_accumulator/main.s @@ -1,5 +1,5 @@ -.org $800 +.org 0x800 main: lsr a - .byte $02 + .byte 0x02 diff --git a/tests/data/lsr_memory/main.s b/tests/data/lsr_memory/main.s index 082297e..6c12841 100644 --- a/tests/data/lsr_memory/main.s +++ b/tests/data/lsr_memory/main.s @@ -1,5 +1,5 @@ -.org $800 +.org 0x800 main: - lsr $ff - .byte $02 + lsr 0xff + .byte 0x02 diff --git a/tests/data/nop/main.s b/tests/data/nop/main.s index 099b82f..d936079 100644 --- a/tests/data/nop/main.s +++ b/tests/data/nop/main.s @@ -1,5 +1,5 @@ -.org $800 +.org 0x800 main: nop - .byte $02 + .byte 0x02 diff --git a/tests/data/ora/main.s b/tests/data/ora/main.s index d52fd24..c9f2ca1 100644 --- a/tests/data/ora/main.s +++ b/tests/data/ora/main.s @@ -1,5 +1,5 @@ -.org $800 +.org 0x800 main: - ora $f - .byte $02 + ora 0xf + .byte 0x02 diff --git a/tests/data/pha/main.s b/tests/data/pha/main.s index 447e051..654913f 100644 --- a/tests/data/pha/main.s +++ b/tests/data/pha/main.s @@ -1,5 +1,5 @@ -.org $800 +.org 0x800 main: pha - .byte $02 + .byte 0x02 diff --git a/tests/data/php/main.s b/tests/data/php/main.s index 0d73414..b8a6f10 100644 --- a/tests/data/php/main.s +++ b/tests/data/php/main.s @@ -1,5 +1,5 @@ -.org $800 +.org 0x800 main: php - .byte $02 + .byte 0x02 diff --git a/tests/data/pla/main.s b/tests/data/pla/main.s index 245137b..5c41bc9 100644 --- a/tests/data/pla/main.s +++ b/tests/data/pla/main.s @@ -1,5 +1,5 @@ -.org $800 +.org 0x800 main: pla - .byte $02 + .byte 0x02 diff --git a/tests/data/plp/main.s b/tests/data/plp/main.s index 796a460..90ecf24 100644 --- a/tests/data/plp/main.s +++ b/tests/data/plp/main.s @@ -1,5 +1,5 @@ -.org $800 +.org 0x800 main: plp - .byte $02 + .byte 0x02 diff --git a/tests/data/rol_accumulator/main.s b/tests/data/rol_accumulator/main.s index 0014f81..8413d2b 100644 --- a/tests/data/rol_accumulator/main.s +++ b/tests/data/rol_accumulator/main.s @@ -1,5 +1,5 @@ -.org $800 +.org 0x800 main: rol a - .byte $02 + .byte 0x02 diff --git a/tests/data/rol_memory/main.s b/tests/data/rol_memory/main.s index e7f17c5..5305cab 100644 --- a/tests/data/rol_memory/main.s +++ b/tests/data/rol_memory/main.s @@ -1,5 +1,5 @@ -.org $800 +.org 0x800 main: - rol $ff - .byte $02 + rol 0xff + .byte 0x02 diff --git a/tests/data/ror_accumulator/main.s b/tests/data/ror_accumulator/main.s index 8764fce..c0997bd 100644 --- a/tests/data/ror_accumulator/main.s +++ b/tests/data/ror_accumulator/main.s @@ -1,5 +1,5 @@ -.org $800 +.org 0x800 main: ror a - .byte $02 + .byte 0x02 diff --git a/tests/data/ror_memory/main.s b/tests/data/ror_memory/main.s index 8feb2b8..f4fbb24 100644 --- a/tests/data/ror_memory/main.s +++ b/tests/data/ror_memory/main.s @@ -1,5 +1,5 @@ -.org $800 +.org 0x800 main: - ror $ff - .byte $02 + ror 0xff + .byte 0x02 diff --git a/tests/data/rts/main.s b/tests/data/rts/main.s index f335b0c..ccf5c5d 100644 --- a/tests/data/rts/main.s +++ b/tests/data/rts/main.s @@ -1,4 +1,4 @@ -.org $800 +.org 0x800 main: rts @@ -7,6 +7,6 @@ main: brk // Addr 0x804 - .byte $02 + .byte 0x02 brk brk diff --git a/tests/data/sbc/main.s b/tests/data/sbc/main.s index 6f7aada..a5dd598 100644 --- a/tests/data/sbc/main.s +++ b/tests/data/sbc/main.s @@ -1,5 +1,5 @@ -.org $800 +.org 0x800 main: - sbc $00 - .byte $02 + sbc 0x00 + .byte 0x02 diff --git a/tests/data/sec/main.s b/tests/data/sec/main.s index 8a56ca8..cd9e492 100644 --- a/tests/data/sec/main.s +++ b/tests/data/sec/main.s @@ -1,5 +1,5 @@ -.org $800 +.org 0x800 main: sec - .byte $02 + .byte 0x02 diff --git a/tests/data/sta_absolute/main.s b/tests/data/sta_absolute/main.s index aab4d91..62d2c15 100644 --- a/tests/data/sta_absolute/main.s +++ b/tests/data/sta_absolute/main.s @@ -1,5 +1,5 @@ -.org $800 +.org 0x800 main: - sta $1234 - .byte $02 + sta 0x1234 + .byte 0x02 diff --git a/tests/data/sta_absolute_x_indexed/main.s b/tests/data/sta_absolute_x_indexed/main.s index f2a1d65..ea87a7e 100644 --- a/tests/data/sta_absolute_x_indexed/main.s +++ b/tests/data/sta_absolute_x_indexed/main.s @@ -1,5 +1,5 @@ -.org $800 +.org 0x800 main: - sta $1234,x - .byte $02 + sta 0x1234,x + .byte 0x02 diff --git a/tests/data/sta_absolute_y_indexed/main.s b/tests/data/sta_absolute_y_indexed/main.s index 506befd..8c9ddaf 100644 --- a/tests/data/sta_absolute_y_indexed/main.s +++ b/tests/data/sta_absolute_y_indexed/main.s @@ -1,5 +1,5 @@ -.org $800 +.org 0x800 main: - sta $1234,y - .byte $02 + sta 0x1234,y + .byte 0x02 diff --git a/tests/data/sta_indirect_y_indexed/main.s b/tests/data/sta_indirect_y_indexed/main.s index 09d9c65..c9a8fff 100644 --- a/tests/data/sta_indirect_y_indexed/main.s +++ b/tests/data/sta_indirect_y_indexed/main.s @@ -1,5 +1,5 @@ -.org $800 +.org 0x800 main: - sta ($34),y - .byte $02 + sta (0x34),y + .byte 0x02 diff --git a/tests/data/sta_x_indexed_indirect/main.s b/tests/data/sta_x_indexed_indirect/main.s index 2800d1c..0304c46 100644 --- a/tests/data/sta_x_indexed_indirect/main.s +++ b/tests/data/sta_x_indexed_indirect/main.s @@ -1,5 +1,5 @@ -.org $800 +.org 0x800 main: - sta ($34,x) - .byte $02 + sta (0x34,x) + .byte 0x02 diff --git a/tests/data/sta_zeropage/main.s b/tests/data/sta_zeropage/main.s index 37c54da..e8a23c2 100644 --- a/tests/data/sta_zeropage/main.s +++ b/tests/data/sta_zeropage/main.s @@ -1,5 +1,5 @@ -.org $800 +.org 0x800 main: - sta $34 - .byte $02 + sta 0x34 + .byte 0x02 diff --git a/tests/data/sta_zeropage_x_indexed/main.s b/tests/data/sta_zeropage_x_indexed/main.s index fd0609e..ac23673 100644 --- a/tests/data/sta_zeropage_x_indexed/main.s +++ b/tests/data/sta_zeropage_x_indexed/main.s @@ -1,5 +1,5 @@ -.org $800 +.org 0x800 main: - sta $34,x - .byte $02 + sta 0x34,x + .byte 0x02 diff --git a/tests/data/stx_absolute/main.s b/tests/data/stx_absolute/main.s index 7e15d72..5333319 100644 --- a/tests/data/stx_absolute/main.s +++ b/tests/data/stx_absolute/main.s @@ -1,5 +1,5 @@ -.org $800 +.org 0x800 main: - stx $1234 - .byte $02 + stx 0x1234 + .byte 0x02 diff --git a/tests/data/stx_zeropage/main.s b/tests/data/stx_zeropage/main.s index 6ef707d..574d213 100644 --- a/tests/data/stx_zeropage/main.s +++ b/tests/data/stx_zeropage/main.s @@ -1,5 +1,5 @@ -.org $800 +.org 0x800 main: - stx $34 - .byte $02 + stx 0x34 + .byte 0x02 diff --git a/tests/data/stx_zeropage_y_index/main.s b/tests/data/stx_zeropage_y_index/main.s index e47cf46..37a8447 100644 --- a/tests/data/stx_zeropage_y_index/main.s +++ b/tests/data/stx_zeropage_y_index/main.s @@ -1,5 +1,5 @@ -.org $800 +.org 0x800 main: - stx $34,y - .byte $02 + stx 0x34,y + .byte 0x02 diff --git a/tests/data/sty_absolute/main.s b/tests/data/sty_absolute/main.s index be68ffe..23f06a2 100644 --- a/tests/data/sty_absolute/main.s +++ b/tests/data/sty_absolute/main.s @@ -1,5 +1,5 @@ -.org $800 +.org 0x800 main: - sty $1234 - .byte $02 + sty 0x1234 + .byte 0x02 diff --git a/tests/data/sty_zeropage/main.s b/tests/data/sty_zeropage/main.s index 1d7eaef..489619e 100644 --- a/tests/data/sty_zeropage/main.s +++ b/tests/data/sty_zeropage/main.s @@ -1,5 +1,5 @@ -.org $800 +.org 0x800 main: - sty $34 - .byte $02 + sty 0x34 + .byte 0x02 diff --git a/tests/data/sty_zeropage_x_index/main.s b/tests/data/sty_zeropage_x_index/main.s index db8d419..069875d 100644 --- a/tests/data/sty_zeropage_x_index/main.s +++ b/tests/data/sty_zeropage_x_index/main.s @@ -1,5 +1,5 @@ -.org $800 +.org 0x800 main: - sty $34,x - .byte $02 + sty 0x34,x + .byte 0x02 diff --git a/tests/data/tax/main.s b/tests/data/tax/main.s index 61cda89..8707bea 100644 --- a/tests/data/tax/main.s +++ b/tests/data/tax/main.s @@ -1,5 +1,5 @@ -.org $800 +.org 0x800 main: tax - .byte $02 + .byte 0x02 diff --git a/tests/data/tay/main.s b/tests/data/tay/main.s index 73b5290..45afc3e 100644 --- a/tests/data/tay/main.s +++ b/tests/data/tay/main.s @@ -1,5 +1,5 @@ -.org $800 +.org 0x800 main: tay - .byte $02 + .byte 0x02 diff --git a/tests/data/tsx/main.s b/tests/data/tsx/main.s index 8c61d93..7b73868 100644 --- a/tests/data/tsx/main.s +++ b/tests/data/tsx/main.s @@ -1,5 +1,5 @@ -.org $800 +.org 0x800 main: tsx - .byte $02 + .byte 0x02 diff --git a/tests/data/txa/main.s b/tests/data/txa/main.s index 0cdc414..1c49604 100644 --- a/tests/data/txa/main.s +++ b/tests/data/txa/main.s @@ -1,5 +1,5 @@ -.org $800 +.org 0x800 main: txa - .byte $02 + .byte 0x02 diff --git a/tests/data/txs/main.s b/tests/data/txs/main.s index f24543d..806a2b9 100644 --- a/tests/data/txs/main.s +++ b/tests/data/txs/main.s @@ -1,5 +1,5 @@ -.org $800 +.org 0x800 main: txs - .byte $02 + .byte 0x02 diff --git a/tests/data/tya/main.s b/tests/data/tya/main.s index 9626430..ba0b5c7 100644 --- a/tests/data/tya/main.s +++ b/tests/data/tya/main.s @@ -1,5 +1,5 @@ -.org $800 +.org 0x800 main: tya - .byte $02 + .byte 0x02 diff --git a/woz_monitor/woz_monitor.s b/woz_monitor/woz_monitor.s index bb3fc53..7f7e9b5 100644 --- a/woz_monitor/woz_monitor.s +++ b/woz_monitor/woz_monitor.s @@ -9,21 +9,21 @@ // Memory declaration //------------------------------------------------------------------------- -.equ XAML, $24 // Last "opened" location Low -.equ XAMH, $25 // Last "opened" location High -.equ STL, $26 // Store address Low -.equ STH, $27 // Store address High -.equ L, $28 // Hex value parsing Low -.equ H , $29 // Hex value parsing High -.equ YSAV, $2A // Used to see if hex value is given -.equ MODE, $2B // $00=XAM, $7F=STOR, $AE=BLOCK XAM - -.equ IN, $0200 // Input buffer 0x200 to 0x27F - -.equ KBD, $D010 // PIA.A keyboard input -.equ KBDCR, $D011 // PIA.A keyboard control register -.equ DSP, $D012 // PIA.B display output register -.equ DSPCR, $D013 // PIA.B display control register +.equ XAML, 0x24 // Last "opened" location Low +.equ XAMH, 0x25 // Last "opened" location High +.equ STL, 0x26 // Store address Low +.equ STH, 0x27 // Store address High +.equ L, 0x28 // Hex value parsing Low +.equ H , 0x29 // Hex value parsing High +.equ YSAV, 0x2A // Used to see if hex value is given +.equ MODE, 0x2B // $00=XAM, $7F=STOR, $AE=BLOCK XAM + +.equ IN, 0x0200 // Input buffer 0x200 to 0x27F + +.equ KBD, 0xD010 // PIA.A keyboard input +.equ KBDCR, 0xD011 // PIA.A keyboard control register +.equ DSP, 0xD012 // PIA.B display output register +.equ DSPCR, 0xD013 // PIA.B display control register // KBD b7..b0 are inputs, b6..b0 is ASCII input, b7 is constant high // Programmed to respond to low to high KBD strobe @@ -36,10 +36,10 @@ // Constants //------------------------------------------------------------------------- -.equ BS, $DF // Backspace key, arrow left key -.equ CR, $8D // Carriage Return -.equ ESC, $9B // ESC key -.equ PROMPT, $5C // Prompt character (\) +.equ BS, 0xDF // Backspace key, arrow left key +.equ CR, 0x8D // Carriage Return +.equ ESC, 0x9B // ESC key +.equ PROMPT, 0x5C // Prompt character (\) //------------------------------------------------------------------------- // Let's get started @@ -52,14 +52,14 @@ .global RESET RESET: CLD // Clear decimal arithmetic mode CLI - LDY #$7F // Mask for DSP data direction reg + LDY #0x7F // Mask for DSP data direction reg STY DSP // (DDR mode is assumed after reset) - LDA #$A7 // KBD and DSP control register mask + LDA #0xA7 // KBD and DSP control register mask STA KBDCR // Enable interrupts, set CA1, CB1 for STA DSPCR // positive edge sense/output mode. // Program falls through to the GETLINE routine to save some program bytes -// Please note that Y still holds $7F, which will cause an automatic Escape +// Please note that Y still holds 0x7F, which will cause an automatic Escape //------------------------------------------------------------------------- // The GETLINE process @@ -96,7 +96,7 @@ NEXTCHAR: LDA KBDCR // Wait for key press LDA #0 // Default mode is XAM TAX // X=0 -SETSTOR: ASL // Leaves $7B if setting STOR mode +SETSTOR: ASL // Leaves 0x7B if setting STOR mode SETMODE: STA MODE // Set mode flags @@ -105,12 +105,12 @@ BLSKIP: INY // Advance text index NEXTITEM: LDA IN,y // Get character CMP #CR BEQ GETLINE // We're done if it's CR! - CMP #$AE // 0x2E = . + CMP #0xAE // 0x2E = . BCC BLSKIP // Ignore everything below . - BEQ SETMODE // Set BLOCK XAM mode (. = $AE) - CMP #$BA // 0x3A = : - BEQ SETSTOR // Set STOR mode! $BA will become $7B - CMP #$D2 // 0x52 = R + BEQ SETMODE // Set BLOCK XAM mode (. = 0xAE) + CMP #0xBA // 0x3A = : + BEQ SETSTOR // Set STOR mode! 0xBA will become $7B + CMP #0xD2 // 0x52 = R BEQ RUN // Run the program! Forget the rest STX L // Clear input value (X=0) STX H @@ -119,11 +119,11 @@ NEXTITEM: LDA IN,y // Get character // Here we're trying to parse a new hex value NEXTHEX: LDA IN,y // Get character for hex test - EOR #$B0 // Map digits to 0-9 + EOR #0xB0 // Map digits to 0-9 CMP #9+1 // Is it a decimal digit? BCC DIG // Yes! - ADC #$88 // Map letter A-F to $FA-FF - CMP #$FA // Hex letter? + ADC #0x88 // Map letter A-F to $FA-FF + CMP #0xFA // Hex letter? BCC NOTHEX // No! Character not hex DIG: ASL @@ -185,10 +185,10 @@ NXTPRNT: BNE PRDATA // NE means no address to print JSR PRBYTE LDA XAML // Output low-order byte of address JSR PRBYTE - LDA #$3A // 0x3A = : + LDA #0x3A // 0x3A = : JSR ECHO -PRDATA: LDA #$20 // Print space +PRDATA: LDA #0x20 // Print space JSR ECHO LDA (XAML,x) // Get data from address (X=0) JSR PRBYTE // Output it in hex format @@ -204,7 +204,7 @@ XAMNEXT: STX MODE // 0 -> MODE (XAM mode). INC XAMH MOD8CHK: LDA XAML // If address MOD 8 = 0 start new line - AND #$07 + AND #0x07 BPL NXTPRNT // Always taken. //------------------------------------------------------------------------- @@ -225,9 +225,9 @@ PRBYTE: PHA // Save A for LSD // Subroutine to print a hexadecimal digit //------------------------------------------------------------------------- -PRHEX: AND #$0F // Mask LSD for hex print - ORA #$30 // Add 0 - CMP #$3A // Is it a decimal digit? +PRHEX: AND #0x0F // Mask LSD for hex print + ORA #0x30 // Add 0 + CMP #0x3A // Is it a decimal digit? BCC ECHO // Yes! output it ADC #6 // Add offset for letter A-F @@ -248,9 +248,9 @@ ECHO: BIT DSP // DA bit (B7) cleared yet? .data - .2byte $0000 // Unused, what a pity -NMI_VEC: .2byte $0F00 // NMI vector + .2byte 0x0000 // Unused, what a pity +NMI_VEC: .2byte 0x0F00 // NMI vector RESET_VEC: .2byte RESET // RESET vector -IRQ_VEC: .2byte $0000 // IRQ vector +IRQ_VEC: .2byte 0x0000 // IRQ vector //-------------------------------------------------------------------------