dos33fsprogs/graphics/hgr/tinyhgr/tiny_hgr.s
2023-02-08 11:09:39 -05:00

71 lines
1.3 KiB
ArmAsm

; Tiny Gr
; by Vince `deater` Weaver, vince@deater.net --- d e s i r e ---
; trying to make small graphics in 8 bytes for Apple II
; drops into the middle of the CHRGET get next token routine
; that the Applesoft interpreter copies to $B1 - $C8 on boot
; zero page locations
; ROM calls
SETGR = $FB40 ; set lo-res graphics code, clear screen
PRHEX = $FDE3 ; print hex digit
COUT = $FDED ; output A to screen
COUT1 = $FDF0 ; output A to screen
tiny_gr:
;chrget B1: E6 B8 inc txtptrl
; B3: D0 02 bne chrgot
; B5: E6 B9 inc txtptrh
;chrgot B7: AD 00 08 lda $800 txtprtrl/txtptrh
; BA: C9 3A cmp #$3A
; BC: B0 0A bcs end
; BE: C9 20 cmp #$20
; C0: F0 EF beq chrget
; C2: 38 sec
; C3: E9 30 sbc #$30
; C5: 38 sec
; C6: E9 D0 sbc #$D0
; C8: 60 rts
; we drop this at B9
;chrget B1: E6 B8 inc txtptrl
; B3: D0 02 bne chrgot
; B5: E6 B9 inc txtptrh
;chrgot B7: AD 00 08 lda $800
.if 0
tiny_loop:
; lda $7800
.byte $78 ; sei ; B9
bit $C050 ; BA BB BC set LORES
jsr COUT1 ; BD BE BF output A to stdout, with scroll
.byte $50 ; bvc (bra we hope) ; C0
; chrget
.endif
HGR2 = $F3D8
HPOSN = $F411
XDRAW0 = $F65D
.pc02
tiny_loop:
jsr HGR2 ; HGR2 ; 3
; jsr HPOSN ; 3
; plx
; ply
jsr XDRAW0 ; 3
nop
.byte $50
; jmp tiny_loop