mirror of
https://github.com/mi57730/a2d.git
synced 2024-06-29 01:29:50 +00:00
More calculator symbols
This commit is contained in:
parent
379c715aba
commit
a32e5e6d73
|
@ -1,58 +1,70 @@
|
||||||
.setcpu "65C02"
|
.setcpu "65C02"
|
||||||
.org $800
|
.org $800
|
||||||
|
|
||||||
|
.include "apple2.inc"
|
||||||
.include "../inc/prodos.inc"
|
.include "../inc/prodos.inc"
|
||||||
.include "../inc/auxmem.inc"
|
.include "../inc/auxmem.inc"
|
||||||
.include "../inc/applesoft.inc"
|
.include "../inc/applesoft.inc"
|
||||||
|
|
||||||
.include "a2d.inc"
|
.include "a2d.inc"
|
||||||
|
|
||||||
L0020 := $0020
|
L0020 := $0020
|
||||||
L00B1 := $00B1
|
L00B1 := $00B1
|
||||||
L4015 := $4015
|
|
||||||
|
|
||||||
ROMIN := $C082
|
ROMIN2 := $C082
|
||||||
|
|
||||||
jmp L0804
|
|
||||||
|
|
||||||
L0803: .byte 0
|
start: jmp copy2aux
|
||||||
|
|
||||||
L0804: tsx
|
save_stack: .byte 0
|
||||||
stx L0803
|
|
||||||
lda ROMIN
|
.proc copy2aux
|
||||||
lda #$46
|
tsx
|
||||||
sta $3C
|
stx save_stack
|
||||||
lda #$08
|
|
||||||
sta $3D
|
start := call_init
|
||||||
lda #$E4
|
end := da_end
|
||||||
sta $3E
|
dest := start
|
||||||
lda #$13
|
|
||||||
sta $3F
|
lda ROMIN2
|
||||||
lda #$46
|
lda #<start
|
||||||
sta $42
|
sta STARTLO
|
||||||
lda #$08
|
lda #>start
|
||||||
sta $43
|
sta STARTHI
|
||||||
sec
|
lda #<end
|
||||||
|
sta ENDLO
|
||||||
|
lda #>end
|
||||||
|
sta ENDHI
|
||||||
|
lda #<dest
|
||||||
|
sta DESTINATIONLO
|
||||||
|
lda #>dest
|
||||||
|
sta DESTINATIONHI
|
||||||
|
sec ; main>aux
|
||||||
jsr AUXMOVE
|
jsr AUXMOVE
|
||||||
|
|
||||||
lda #$46
|
lda #<start
|
||||||
sta $03ED
|
sta XFERSTARTLO
|
||||||
lda #$08
|
lda #>start
|
||||||
sta $03EE
|
sta XFERSTARTHI
|
||||||
php
|
php
|
||||||
pla
|
pla
|
||||||
ora #$40
|
ora #$40 ; set overflow: use aux zp/stack
|
||||||
pha
|
pha
|
||||||
plp
|
plp
|
||||||
sec
|
sec ; control main>aux
|
||||||
jmp XFER
|
jmp XFER
|
||||||
|
.endproc
|
||||||
|
|
||||||
L083B: lda LCBANK1
|
.proc exit_da
|
||||||
lda LCBANK1
|
lda LCBANK1
|
||||||
ldx L0803
|
lda LCBANK1
|
||||||
|
ldx save_stack
|
||||||
txs
|
txs
|
||||||
rts
|
rts
|
||||||
|
.endproc
|
||||||
|
|
||||||
lda ROMIN
|
call_init:
|
||||||
|
lda ROMIN2
|
||||||
jmp L0D18
|
jmp L0D18
|
||||||
|
|
||||||
L084C: lda LCBANK1
|
L084C: lda LCBANK1
|
||||||
|
@ -63,7 +75,7 @@ L0854: lda L088D,x
|
||||||
dex
|
dex
|
||||||
bpl L0854
|
bpl L0854
|
||||||
jsr L0020
|
jsr L0020
|
||||||
lda ROMIN
|
lda ROMIN2
|
||||||
lda #$34
|
lda #$34
|
||||||
jsr L089E
|
jsr L089E
|
||||||
lda LCBANK1
|
lda LCBANK1
|
||||||
|
@ -73,16 +85,17 @@ L0854: lda L088D,x
|
||||||
jsr UNKNOWN_CALL
|
jsr UNKNOWN_CALL
|
||||||
.byte $0C
|
.byte $0C
|
||||||
.addr 0
|
.addr 0
|
||||||
|
|
||||||
L0878: lda #$00
|
L0878: lda #$00
|
||||||
sta L089D
|
sta L089D
|
||||||
lda ROMIN
|
lda ROMIN2
|
||||||
A2D_CALL $3C, L08D1
|
A2D_CALL $3C, L08D1
|
||||||
A2D_CALL A2D_TEXT_BOX1, L0C6E
|
A2D_CALL A2D_TEXT_BOX1, L0C6E
|
||||||
rts
|
rts
|
||||||
|
|
||||||
L088D: sta RAMRDOFF
|
L088D: sta RAMRDOFF
|
||||||
sta RAMWRTOFF
|
sta RAMWRTOFF
|
||||||
jsr L4015
|
jsr JUMP_TABLE_15
|
||||||
sta RAMRDON
|
sta RAMRDON
|
||||||
sta RAMWRTON
|
sta RAMWRTON
|
||||||
rts
|
rts
|
||||||
|
@ -218,12 +231,19 @@ L0BC9: .byte $00
|
||||||
L0BCA: .byte $00
|
L0BCA: .byte $00
|
||||||
L0BCB: .byte $00
|
L0BCB: .byte $00
|
||||||
L0BCC: .byte $01,$00,$00,$00,$81,$00,$60,$00
|
L0BCC: .byte $01,$00,$00,$00,$81,$00,$60,$00
|
||||||
L0BD4: .byte $77,$DD,$77,$DD,$77,$DD,$77,$DD
|
|
||||||
|
background_pattern:
|
||||||
|
.byte $77,$DD,$77,$DD,$77,$DD,$77,$DD
|
||||||
.byte $00
|
.byte $00
|
||||||
L0BDD: .byte $00,$00,$00,$00,$00,$00,$00,$00
|
|
||||||
|
black_pattern:
|
||||||
|
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||||
.byte $00
|
.byte $00
|
||||||
L0BE6: .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
|
||||||
|
white_pattern:
|
||||||
|
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
||||||
.byte $00
|
.byte $00
|
||||||
|
|
||||||
L0BEF: .byte $7F
|
L0BEF: .byte $7F
|
||||||
L0BF0: .byte $0A,$00,$05,$00,$78,$00,$11,$00
|
L0BF0: .byte $0A,$00,$05,$00,$78,$00,$11,$00
|
||||||
L0BF8: .byte $0B,$00,$06,$00,$77,$00,$10,$00
|
L0BF8: .byte $0B,$00,$06,$00,$77,$00,$10,$00
|
||||||
|
@ -286,6 +306,7 @@ L0CE6: .byte $00,$00,$02,$00,$06,$00,$0E,$00
|
||||||
.byte $3F,$00,$7F,$00,$7F,$01,$7F,$00
|
.byte $3F,$00,$7F,$00,$7F,$01,$7F,$00
|
||||||
.byte $78,$00,$78,$00,$70,$01,$70,$01
|
.byte $78,$00,$78,$00,$70,$01,$70,$01
|
||||||
.byte $01,$01
|
.byte $01,$01
|
||||||
|
|
||||||
L0D18: sta ALTZPON
|
L0D18: sta ALTZPON
|
||||||
lda LCBANK1
|
lda LCBANK1
|
||||||
lda LCBANK1
|
lda LCBANK1
|
||||||
|
@ -298,7 +319,7 @@ L0D18: sta ALTZPON
|
||||||
sta L08C5
|
sta L08C5
|
||||||
A2D_CALL $2D, L08C5
|
A2D_CALL $2D, L08C5
|
||||||
A2D_CALL A2D_GET_BUTTON, L08C5
|
A2D_CALL A2D_GET_BUTTON, L08C5
|
||||||
lda ROMIN
|
lda ROMIN2
|
||||||
jsr L128E
|
jsr L128E
|
||||||
lda #$34
|
lda #$34
|
||||||
jsr L089E
|
jsr L089E
|
||||||
|
@ -361,7 +382,7 @@ L0DDC: cmp #$03
|
||||||
L0DE6: lda LCBANK1
|
L0DE6: lda LCBANK1
|
||||||
lda LCBANK1
|
lda LCBANK1
|
||||||
A2D_CALL A2D_GET_MOUSE, L08C6
|
A2D_CALL A2D_GET_MOUSE, L08C6
|
||||||
lda ROMIN
|
lda ROMIN2
|
||||||
lda L08CA
|
lda L08CA
|
||||||
cmp #$02
|
cmp #$02
|
||||||
bcc L0E03
|
bcc L0E03
|
||||||
|
@ -388,7 +409,7 @@ L0E22: lda LCBANK1
|
||||||
jsr UNKNOWN_CALL
|
jsr UNKNOWN_CALL
|
||||||
.byte $0C
|
.byte $0C
|
||||||
.addr 0
|
.addr 0
|
||||||
lda ROMIN
|
lda ROMIN2
|
||||||
A2D_CALL $1A, L08D5
|
A2D_CALL $1A, L08D5
|
||||||
ldx #$09
|
ldx #$09
|
||||||
L0E3F: lda L0E4A,x
|
L0E3F: lda L0E4A,x
|
||||||
|
@ -399,7 +420,7 @@ L0E3F: lda L0E4A,x
|
||||||
|
|
||||||
L0E4A: sta RAMRDOFF
|
L0E4A: sta RAMRDOFF
|
||||||
sta RAMWRTOFF
|
sta RAMWRTOFF
|
||||||
jmp L083B
|
jmp exit_da
|
||||||
|
|
||||||
L0E53: cmp #$03
|
L0E53: cmp #$03
|
||||||
bne L0E03
|
bne L0E03
|
||||||
|
@ -408,7 +429,7 @@ L0E53: cmp #$03
|
||||||
lda LCBANK1
|
lda LCBANK1
|
||||||
lda LCBANK1
|
lda LCBANK1
|
||||||
A2D_CALL $44, L08C5
|
A2D_CALL $44, L08C5
|
||||||
lda ROMIN
|
lda ROMIN2
|
||||||
jsr L084C
|
jsr L084C
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
@ -895,7 +916,7 @@ L120A: stx L122F
|
||||||
sty L122F+1
|
sty L122F+1
|
||||||
sty L1253+1
|
sty L1253+1
|
||||||
sty L1273+1
|
sty L1273+1
|
||||||
A2D_CALL A2D_SET_PATTERN, L0BDD
|
A2D_CALL A2D_SET_PATTERN, black_pattern
|
||||||
A2D_CALL $07, L0CA6
|
A2D_CALL $07, L0CA6
|
||||||
sec
|
sec
|
||||||
ror $FC
|
ror $FC
|
||||||
|
@ -976,11 +997,11 @@ L12C0: stx L0C40
|
||||||
rts
|
rts
|
||||||
|
|
||||||
L12E8: A2D_CALL $26, 0
|
L12E8: A2D_CALL $26, 0
|
||||||
A2D_CALL A2D_SET_PATTERN, L0BD4
|
A2D_CALL A2D_SET_PATTERN, background_pattern
|
||||||
A2D_CALL A2D_CLEAR_BOX, L0BCC
|
A2D_CALL A2D_CLEAR_BOX, L0BCC
|
||||||
A2D_CALL A2D_SET_PATTERN, L0BDD
|
A2D_CALL A2D_SET_PATTERN, black_pattern
|
||||||
A2D_CALL $12, L0BF0
|
A2D_CALL $12, L0BF0
|
||||||
A2D_CALL A2D_SET_PATTERN, L0BE6
|
A2D_CALL A2D_SET_PATTERN, white_pattern
|
||||||
A2D_CALL A2D_CLEAR_BOX, L0BF8
|
A2D_CALL A2D_CLEAR_BOX, L0BF8
|
||||||
A2D_CALL $0C, L0BEF
|
A2D_CALL $0C, L0BEF
|
||||||
lda #$D6
|
lda #$D6
|
||||||
|
@ -1066,3 +1087,5 @@ L13D2: lda $EA60
|
||||||
sec
|
sec
|
||||||
sbc #$D0
|
sbc #$D0
|
||||||
L13E3: rts
|
L13E3: rts
|
||||||
|
|
||||||
|
da_end := *
|
||||||
|
|
|
@ -6,7 +6,18 @@ set -e
|
||||||
make all
|
make all
|
||||||
|
|
||||||
function verify {
|
function verify {
|
||||||
diff "$1.bin" "$1.F1" && echo "$1: files match"
|
diff "$1.bin" "$1.F1" \
|
||||||
|
&& echo "$1: files match" \
|
||||||
|
|| (
|
||||||
|
tput setaf 1 # red
|
||||||
|
tput blink
|
||||||
|
echo "************************************"
|
||||||
|
echo "*"
|
||||||
|
echo "* Bad: $1"
|
||||||
|
echo "*"
|
||||||
|
echo "************************************"
|
||||||
|
tput sgr0 # res
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
# Verify original and output match
|
# Verify original and output match
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
.setcpu "65C02"
|
.setcpu "65C02"
|
||||||
.org $800
|
.org $800
|
||||||
|
|
||||||
|
.include "apple2.inc"
|
||||||
.include "../inc/prodos.inc"
|
.include "../inc/prodos.inc"
|
||||||
.include "../inc/auxmem.inc"
|
.include "../inc/auxmem.inc"
|
||||||
.include "a2d.inc"
|
.include "a2d.inc"
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
.setcpu "65C02"
|
.setcpu "65C02"
|
||||||
.org $800
|
.org $800
|
||||||
|
|
||||||
|
.include "apple2.inc"
|
||||||
.include "../inc/prodos.inc"
|
.include "../inc/prodos.inc"
|
||||||
.include "../inc/auxmem.inc"
|
.include "../inc/auxmem.inc"
|
||||||
.include "a2d.inc"
|
.include "a2d.inc"
|
||||||
|
|
|
@ -15,8 +15,6 @@ PAGE2ON := $C055
|
||||||
HIRESON := $C056
|
HIRESON := $C056
|
||||||
HIRESOFF := $C057
|
HIRESOFF := $C057
|
||||||
|
|
||||||
LCBANK1 := $C08B
|
|
||||||
|
|
||||||
;;; Routines
|
;;; Routines
|
||||||
AUXMOVE := $C311 ; carry set main>aux, carry clear aux>main
|
AUXMOVE := $C311 ; carry set main>aux, carry clear aux>main
|
||||||
XFER := $C314
|
XFER := $C314
|
||||||
|
@ -27,3 +25,6 @@ ENDLO := $3E
|
||||||
ENDHI := $3F
|
ENDHI := $3F
|
||||||
DESTINATIONLO := $42
|
DESTINATIONLO := $42
|
||||||
DESTINATIONHI := $43
|
DESTINATIONHI := $43
|
||||||
|
|
||||||
|
XFERSTARTLO := $03ED
|
||||||
|
XFERSTARTHI := $03EE
|
||||||
|
|
Loading…
Reference in New Issue
Block a user