dos33fsprogs/demos/second/part04_chess_shapes/chess.s

110 lines
1.5 KiB
ArmAsm
Raw Normal View History

2023-10-29 04:51:28 +00:00
; Chess board, polyhedrons, circles, interference
;
; by deater (Vince Weaver) <vince@deater.net>
.include "../zp.inc"
.include "../hardware.inc"
.include "../qload.inc"
mod7_table = $1c00
div7_table = $1d00
hposn_low = $1e00
hposn_high = $1f00
chess_start:
;=====================
; initializations
;=====================
;===================
; Load graphics
;===================
bit SET_GR
bit HIRES
bit FULLGR
bit PAGE1
lda #0
jsr hgr_page1_clearscreen
jsr hgr_page2_clearscreen
bit PAGE2
; load image offscreen $6000
lda #<chess_data
sta zx_src_l+1
lda #>chess_data
sta zx_src_h+1
lda #$60
jsr zx02_full_decomp
lda #0
sta COUNT
sta DRAW_PAGE
ship_sprite_loop:
lda #$60
jsr hgr_copy
bit PAGE1
jsr wait_until_keypress
chess_done:
2023-10-29 23:00:59 +00:00
;==================
;==================
;==================
; DO TUNNEL HERE
;==================
;==================
;==================
main_tunnel_done:
;==================
;==================
;==================
; DO INTERFERENCE HERE
;==================
;==================
;==================
jsr interference
main_interference_done:
2023-10-29 04:51:28 +00:00
rts
;.align $100
.include "../wait_keypress.s"
.include "../zx02_optim.s"
; .include "../hgr_table.s"
.include "../hgr_clear_screen.s"
.include "../hgr_copy_fast.s"
2023-10-29 23:00:59 +00:00
.include "interference.s"
2023-10-29 04:51:28 +00:00
; wait A * 1/50s
wait_irq:
; lda #50
sta IRQ_COUNTDOWN
wait_irq_loop:
lda IRQ_COUNTDOWN
bne wait_irq_loop
rts
chess_data:
.incbin "graphics/chess_object2.hgr.zx02"