fujirun/kfest2018/fastclear.s

286 lines
4.0 KiB
ArmAsm

; AUTOGENERATED FILE; DO NOT EDIT!
;
; This file was generated by asmgen.py, a 6502 code generator sponsored by
; the Player/Missile Podcast. (The sprite compiler is based on HiSprite by
; Quinn Dunki).
;
; The code produced by asmgen is licensed under the Creative Commons
; Attribution 4.0 International (CC BY 4.0), so you are free to use the code in
; this file for any purpose. (The code generator itself is licensed under the
; GPLv3.)
FIRST_CHAR_OF_SCREEN = $06
FIRST_CHAR_OF_LINE = $07
CURRENT_CHAR = $08
FRAME_COUNT = $09
*= $5000
start_set
jsr set_hires
jsr clrscr
jsr driver
jsr set_text
rts
brk
driver
lda #$00
sta FIRST_CHAR_OF_SCREEN
lda #64
sta FRAME_COUNT
page_loop
jsr page
dec FRAME_COUNT
bne page_loop
rts
; os memory map
KEYBOARD = $c000
KBDSTROBE = $c010
CLRTEXT = $c050
SETTEXT = $c051
CLRMIXED = $c052
SETMIXED = $c053
TXTPAGE1 = $c054
TXTPAGE2 = $c055
CLRHIRES = $c056
SETHIRES = $c057
set_hires bit CLRTEXT ; start with HGR page 1, full screen
bit CLRMIXED
bit TXTPAGE1
bit SETHIRES
rts
set_text bit SETTEXT
bit CLRMIXED
bit TXTPAGE1
bit CLRHIRES
rts
; clear hires page 1 only
clrscr lda #$20
sta clrscr_smc+2
lda #0
ldy #0
clrscr_smc sta $ff00,y
iny
bne clrscr_smc
inc clrscr_smc+2
ldx clrscr_smc+2
cpx #$40
bcc clrscr_smc
rts
*= $5074
page
FASTCLEAR_2000 ; A,X clobbered
lda FRAME_COUNT
ldx #39
FASTCLEAR_2000_INNER
sta $2000,x
sta $2400,x
sta $2800,x
sta $2c00,x
sta $3000,x
sta $3400,x
sta $3800,x
sta $3c00,x
sta $2080,x
sta $2480,x
sta $2880,x
sta $2c80,x
sta $3080,x
sta $3480,x
sta $3880,x
sta $3c80,x
sta $2100,x
sta $2500,x
sta $2900,x
sta $2d00,x
sta $3100,x
sta $3500,x
sta $3900,x
sta $3d00,x
sta $2180,x
sta $2580,x
sta $2980,x
sta $2d80,x
sta $3180,x
sta $3580,x
sta $3980,x
sta $3d80,x
sta $2200,x
sta $2600,x
sta $2a00,x
sta $2e00,x
sta $3200,x
sta $3600,x
sta $3a00,x
sta $3e00,x
sta $2280,x
sta $2680,x
sta $2a80,x
sta $2e80,x
sta $3280,x
sta $3680,x
sta $3a80,x
sta $3e80,x
sta $2300,x
sta $2700,x
sta $2b00,x
sta $2f00,x
sta $3300,x
sta $3700,x
sta $3b00,x
sta $3f00,x
sta $2380,x
sta $2780,x
sta $2b80,x
sta $2f80,x
sta $3380,x
sta $3780,x
sta $3b80,x
sta $3f80,x
sta $2028,x
sta $2428,x
sta $2828,x
sta $2c28,x
sta $3028,x
sta $3428,x
sta $3828,x
sta $3c28,x
sta $20a8,x
sta $24a8,x
sta $28a8,x
sta $2ca8,x
sta $30a8,x
sta $34a8,x
sta $38a8,x
sta $3ca8,x
sta $2128,x
sta $2528,x
sta $2928,x
sta $2d28,x
sta $3128,x
sta $3528,x
sta $3928,x
sta $3d28,x
sta $21a8,x
sta $25a8,x
sta $29a8,x
sta $2da8,x
sta $31a8,x
sta $35a8,x
sta $39a8,x
sta $3da8,x
sta $2228,x
sta $2628,x
sta $2a28,x
sta $2e28,x
sta $3228,x
sta $3628,x
sta $3a28,x
sta $3e28,x
sta $22a8,x
sta $26a8,x
sta $2aa8,x
sta $2ea8,x
sta $32a8,x
sta $36a8,x
sta $3aa8,x
sta $3ea8,x
sta $2328,x
sta $2728,x
sta $2b28,x
sta $2f28,x
sta $3328,x
sta $3728,x
sta $3b28,x
sta $3f28,x
sta $23a8,x
sta $27a8,x
sta $2ba8,x
sta $2fa8,x
sta $33a8,x
sta $37a8,x
sta $3ba8,x
sta $3fa8,x
sta $2050,x
sta $2450,x
sta $2850,x
sta $2c50,x
sta $3050,x
sta $3450,x
sta $3850,x
sta $3c50,x
sta $20d0,x
sta $24d0,x
sta $28d0,x
sta $2cd0,x
sta $30d0,x
sta $34d0,x
sta $38d0,x
sta $3cd0,x
sta $2150,x
sta $2550,x
sta $2950,x
sta $2d50,x
sta $3150,x
sta $3550,x
sta $3950,x
sta $3d50,x
sta $21d0,x
sta $25d0,x
sta $29d0,x
sta $2dd0,x
sta $31d0,x
sta $35d0,x
sta $39d0,x
sta $3dd0,x
sta $2250,x
sta $2650,x
sta $2a50,x
sta $2e50,x
sta $3250,x
sta $3650,x
sta $3a50,x
sta $3e50,x
sta $22d0,x
sta $26d0,x
sta $2ad0,x
sta $2ed0,x
sta $32d0,x
sta $36d0,x
sta $3ad0,x
sta $3ed0,x
sta $2350,x
sta $2750,x
sta $2b50,x
sta $2f50,x
sta $3350,x
sta $3750,x
sta $3b50,x
sta $3f50,x
sta $23d0,x
sta $27d0,x
sta $2bd0,x
sta $2fd0,x
sta $33d0,x
sta $37d0,x
sta $3bd0,x
sta $3fd0,x
dex
bmi FASTCLEAR_2000_RTS
jmp FASTCLEAR_2000_INNER
FASTCLEAR_2000_RTS
rts