ds: forever prints

This commit is contained in:
Vince Weaver 2019-10-12 20:57:36 -04:00
parent d76344cbd0
commit 6dfb510bae
3 changed files with 112 additions and 17 deletions

View File

@ -17,6 +17,7 @@ appleII_intro:
lda #0 lda #0
sta DRAW_PAGE sta DRAW_PAGE
sta DUDE_X sta DUDE_X
sta FOREVER_OFFSET
;============================= ;=============================
; Load graphic page0 ; Load graphic page0
@ -240,48 +241,56 @@ forever:
; 1174 base ; 1174 base
; -16 previous if/else ; -16 previous if/else
; -7 check ; -7 check
; -12 new_forever ; -18 new_forever
; -12 putchar prep ; -14 putchar prep
; -365 putchar ; -365 putchar
; -8 end ; -8 end
;===================== ;=====================
; 754 ; 746
txa ; 2 txa ; 2
and #$f ; 2 and #$f ; 2
beq new_forever ; 3 beq new_forever ; 3
; -1 ; -1
nop nop ; 2
nop nop ; 2
nop nop ; 2
nop nop ; 2
nop nop ; 2
nop ; 2
nop ; 2
nop ; 2
jmp write_forever ; 3 jmp write_forever ; 3
new_forever: new_forever:
inc forever_string_smc+1 ; 6
lda forever_x_smc+1 ; 4 lda forever_x_smc+1 ; 4
clc ; 2 clc ; 2
adc #4 ; 2 adc #4 ; 2
sta forever_x_smc+1 ; 4 sta forever_x_smc+1 ; 4
;======= ;=======
; 12 ; 18
write_forever: write_forever:
forever_string_smc:
lda forever_string ; 4+
forever_x_smc: forever_x_smc:
ldx #7 ; 2 ldx #7 ; 2
ldy #32 ; 2 ldy #32 ; 2
lda #'B' ; 2
jsr put_char ; 6+365 jsr put_char ; 6+365
;======= ;=======
; delay ; delay
; Try X=49 Y=3 cycles=754 ; Try X=147 Y=1 cycles=742R4
ldy #3 ; 2 nop
loop19: ldx #49 ; 2 nop
ldy #1 ; 2
loop19: ldx #147 ; 2
loop29: dex ; 2 loop29: dex ; 2
bne loop29 ; 2nt/3 bne loop29 ; 2nt/3
dey ; 2 dey ; 2
@ -434,3 +443,5 @@ loop2: dex ; 2
forever_string:
.byte ' ','F','O','R','E','V','E','R'

View File

@ -153,10 +153,70 @@ font_high:
.byte $f0,$0f,$0f,$ff,$00,$00,$00,$00 ; C .byte $f0,$0f,$0f,$ff,$00,$00,$00,$00 ; C
.byte $ff,$0f,$f0,$ff,$00,$ff,$00,$00 ; D .byte $ff,$0f,$f0,$ff,$00,$ff,$00,$00 ; D
.byte $ff,$0f,$0f,$ff,$ff,$f0,$00,$00 ; E .byte $ff,$0f,$0f,$ff,$ff,$f0,$00,$00 ; E
.byte $ff,$0f,$0f,$0f,$ff,$0f,$00,$00 ; F .byte $ff,$0f,$0f,$ff,$0f,$00,$00,$00 ; F
;H0H ** ** ** ** ** ** ** ** ** ** **
;L0H ** ** ** ** ** ** ** **
;H0L ** ** ** ** ** ** ** **
;L0L ** ** ** ** ** ** ** ** ** **
;H1H ** ** ** ** ** ** ** ** ** **
;L1H ** ** ** ** ** ** ** ** **
;H1L ** ** ** ** ** ** ** ** ** **
;L1L ** ** ** ** ** ** ** ** ** ** ** ** **
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; G
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; H
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; I
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; J
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; K
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; L
;H0H ** ** ** ** ** ** ** ** ** **
;L0H ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **
;H0L ** ** ** ** ** ** ** ** ** ** ** ** **
;L0L ** ** ** ** ** ** ** ** ** ** ** ** ** **
;H1H ** ** ** ** ** ** ** ** ** ** ** ** **
;L1H ** ** ** ** ** ** ** ** ** ** **
;H1L ** ** ** ** ** ** ** ** ** ** ** ** **
;L1L ** ** ** ** ** ** ** ** ** **
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; M
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; N
.byte $f0,$0f,$f0,$ff,$f0,$ff,$00,$00 ; O
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; P
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; Q
.byte $ff,$0f,$f0,$ff,$0f,$f0,$00,$00 ; R
;H0H ** ** ** ** ** ** ** ** ** ** ** ** **
;L0H ** ** ** ** ** ** ** ** ** **
;H0L ** ** ** ** ** ** ** ** ** **
;L0L ** ** ** ** ** ** ** ** ** **
;H1H ** ** ** ** ** ** ** ** ** **
;L1H ** ** ** ** ** ** ** ** ** ** ** **
;H1L ** ** ** ** ** ** ** ** ** ** **
;L1L ** ** ** ** ** ** ** ** **
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; S
.byte $0f,$ff,$0f,$00,$ff,$00,$00,$00 ; T
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; U
.byte $ff,$00,$ff,$0f,$f0,$0f,$00,$00 ; V
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; W
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; X
;H0H ** ** ** ** **
;L0H ** ** **
;H0L ** ** **
;L0L ** ** ** **
;H1H ** **
;L1H ** **
;H1L ** **
;L1L ** ** ** **
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; Y
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; Z
;.align $100
;.byte 0
.align $100 .align $100
@ -168,3 +228,27 @@ font_low: ; 2 pages later
.byte $ff,$00,$ff,$ff,$f0,$0f,$00,$00 ; D .byte $ff,$00,$ff,$ff,$f0,$0f,$00,$00 ; D
.byte $ff,$ff,$0f,$ff,$f0,$f0,$00,$00 ; E .byte $ff,$ff,$0f,$ff,$f0,$f0,$00,$00 ; E
.byte $ff,$ff,$0f,$ff,$00,$00,$00,$00 ; F .byte $ff,$ff,$0f,$ff,$00,$00,$00,$00 ; F
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; G
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; H
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; I
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; J
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; K
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; L
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; M
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; N
.byte $ff,$0f,$ff,$0f,$f0,$0f,$00,$00 ; O
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; P
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; Q
.byte $ff,$ff,$0f,$ff,$00,$ff,$00,$00 ; R
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; S
.byte $00,$ff,$00,$00,$ff,$00,$00,$00 ; T
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; U
.byte $ff,$00,$ff,$0f,$ff,$0f,$00,$00 ; V
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; W
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; X
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; Y
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; Z

View File

@ -57,7 +57,7 @@ LEVEL_DONE = $6E
YADD = $6F YADD = $6F
ZERO = $B0 ZERO = $B0
WASTE_CYCLES = $B1 WASTE_CYCLES = $B1
FOREVER_OFFSET = $B2
FRAMEL = $60 FRAMEL = $60
FRAMEH = $61 FRAMEH = $61