mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-08-17 15:29:52 +00:00
132 lines
1.3 KiB
ArmAsm
132 lines
1.3 KiB
ArmAsm
|
GBASL = $26
|
||
|
GBASH = $27
|
||
|
HGRPAGE = $E6
|
||
|
HGR_BITS = $1C
|
||
|
HGR_X = $E0
|
||
|
HGR_Y = $E2
|
||
|
HGR_COLOR = $E4
|
||
|
HGR_HORIZ = $E5
|
||
|
|
||
|
SAVEX = $FD
|
||
|
TEMP = $FE
|
||
|
OLD = $FF
|
||
|
|
||
|
PAGE0 = $C054
|
||
|
PAGE1 = $C055
|
||
|
|
||
|
COLORTBL = $F6F6
|
||
|
|
||
|
HGR = $F3E2
|
||
|
HGR2 = $F3D8
|
||
|
HCLR = $F3F2
|
||
|
HPOSN = $F411
|
||
|
HPLOT0 = $F457 ;; plot at (Y,X), (A)
|
||
|
HPLOT1 = $F45A
|
||
|
COLOR_SHIFT = $F47E
|
||
|
|
||
|
MOVE_RIGHT = $F48A
|
||
|
|
||
|
HCOLOR1 = $F6F0
|
||
|
WAIT = $FCA8 ;; delay 1/2(26+27A+5A^2) us
|
||
|
|
||
|
|
||
|
mod9_lookup = $1000
|
||
|
|
||
|
|
||
|
mod9_start:
|
||
|
jsr make_mod9_lookup
|
||
|
|
||
|
jsr HGR2 ; clear page1
|
||
|
; A is 0 after
|
||
|
|
||
|
tiny_yloop:
|
||
|
|
||
|
ldy #0
|
||
|
ldx #0 ; XX = 0
|
||
|
yy_smc:
|
||
|
lda #0 ; Y co-ord
|
||
|
|
||
|
jsr HPOSN ; plot at (Y,X), (A)
|
||
|
|
||
|
ldx #0
|
||
|
|
||
|
tiny_xloop:
|
||
|
|
||
|
stx SAVEX
|
||
|
|
||
|
; jsr HPLOT1
|
||
|
|
||
|
;===============here
|
||
|
|
||
|
txa
|
||
|
eor yy_smc+1
|
||
|
tax
|
||
|
lda mod9_lookup,X
|
||
|
|
||
|
|
||
|
|
||
|
blurgh:
|
||
|
and #$1
|
||
|
|
||
|
|
||
|
tax
|
||
|
|
||
|
tya
|
||
|
lsr ; check even or odd
|
||
|
php
|
||
|
|
||
|
; jsr HCOLOR1
|
||
|
lda COLORTBL,X
|
||
|
; sta HGR_COLOR
|
||
|
sta HGR_BITS
|
||
|
|
||
|
plp
|
||
|
bcc no_shift
|
||
|
|
||
|
jsr COLOR_SHIFT ; if odd then color shift
|
||
|
|
||
|
no_shift:
|
||
|
|
||
|
; beq store_color
|
||
|
|
||
|
; lda #$7f
|
||
|
;store_color:
|
||
|
; sta HGR_COLOR
|
||
|
|
||
|
|
||
|
jsr HPLOT1
|
||
|
jsr MOVE_RIGHT ; trashes A
|
||
|
|
||
|
ldx SAVEX
|
||
|
|
||
|
inx
|
||
|
bne tiny_xloop
|
||
|
|
||
|
inc yy_smc+1
|
||
|
ldy yy_smc+1
|
||
|
cpy #192
|
||
|
bne tiny_yloop
|
||
|
|
||
|
inc blurgh+1
|
||
|
ldy #0
|
||
|
sty yy_smc+1
|
||
|
beq tiny_yloop
|
||
|
|
||
|
|
||
|
|
||
|
make_mod9_lookup:
|
||
|
ldy #0
|
||
|
m9_xreset:
|
||
|
ldx #0
|
||
|
m9_loop:
|
||
|
txa
|
||
|
sta mod9_lookup,Y
|
||
|
iny
|
||
|
beq m9_done
|
||
|
inx
|
||
|
cpx #9
|
||
|
beq m9_xreset
|
||
|
bne m9_loop
|
||
|
m9_done:
|
||
|
rts
|