mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-06-16 07:29:29 +00:00
tfv: get rotate always working
This commit is contained in:
parent
1033f0b6e8
commit
3711c5431e
|
@ -17,6 +17,26 @@ populate all 48k of RAM).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Memory Map
|
||||||
|
~~~~~~~~~~
|
||||||
|
$00 zero page
|
||||||
|
$01 stack
|
||||||
|
$02-$03 ??
|
||||||
|
$04-$07 lores page 1
|
||||||
|
$08-$0b lores page 2
|
||||||
|
$0c-$0f background graphics
|
||||||
|
$10-$1f ??
|
||||||
|
$20-??? code
|
||||||
|
$B6-$BD multiply tables
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Mode7 Optimization Notes
|
Mode7 Optimization Notes
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
|
|
@ -29,13 +29,13 @@
|
||||||
; square2_hi = >(((I-255)*(I-255))/4)
|
; square2_hi = >(((I-255)*(I-255))/4)
|
||||||
|
|
||||||
; Note: DOS3.3 starts at $9600
|
; Note: DOS3.3 starts at $9600
|
||||||
|
; I/O starts at $c000
|
||||||
|
|
||||||
|
square1_lo = $B600
|
||||||
|
square1_hi = $B800
|
||||||
|
square2_lo = $BA00
|
||||||
|
square2_hi = $BC00
|
||||||
|
|
||||||
.ifndef square1_lo
|
|
||||||
square1_lo = $8E00
|
|
||||||
square1_hi = $9000
|
|
||||||
square2_lo = $9200
|
|
||||||
square2_hi = $9400
|
|
||||||
.endif
|
|
||||||
|
|
||||||
; for(i=0;i<512;i++) {
|
; for(i=0;i<512;i++) {
|
||||||
; square1_lo[i]=((i*i)/4)&0xff;
|
; square1_lo[i]=((i*i)/4)&0xff;
|
||||||
|
@ -44,6 +44,10 @@ square2_hi = $9400
|
||||||
; square2_hi[i]=(( ((i-255)*(i-255))/4)>>8)&0xff;
|
; square2_hi[i]=(( ((i-255)*(i-255))/4)>>8)&0xff;
|
||||||
; }
|
; }
|
||||||
|
|
||||||
|
|
||||||
|
; note, don't run these more than once?
|
||||||
|
; why not? oh, smc that we don't reset
|
||||||
|
|
||||||
init_multiply_tables:
|
init_multiply_tables:
|
||||||
|
|
||||||
; Build the add tables
|
; Build the add tables
|
||||||
|
|
|
@ -6,7 +6,7 @@ rotate_intro:
|
||||||
|
|
||||||
; init the multiply routines
|
; init the multiply routines
|
||||||
|
|
||||||
jsr init_multiply_tables
|
; jsr init_multiply_tables
|
||||||
|
|
||||||
; first copy current screen to background
|
; first copy current screen to background
|
||||||
|
|
||||||
|
@ -59,8 +59,8 @@ done_rotate:
|
||||||
; gr_copy_current_to_offscreen 40x40
|
; gr_copy_current_to_offscreen 40x40
|
||||||
;=========================================================
|
;=========================================================
|
||||||
; Copy draw page to $c00
|
; Copy draw page to $c00
|
||||||
; Take image in 0xc00
|
; Take image in DRAW_PAGE
|
||||||
; Copy to DRAW_PAGE
|
; Copy to $c00
|
||||||
; Actually copy lines 0..39
|
; Actually copy lines 0..39
|
||||||
; Don't over-write bottom 4 lines of text
|
; Don't over-write bottom 4 lines of text
|
||||||
gr_copy_current_to_offscreen_40x40:
|
gr_copy_current_to_offscreen_40x40:
|
||||||
|
|
|
@ -29,8 +29,8 @@ do_battle:
|
||||||
sta ENEMY_ATTACKING
|
sta ENEMY_ATTACKING
|
||||||
|
|
||||||
; FIXME: set limit break
|
; FIXME: set limit break
|
||||||
lda #3
|
; lda #3
|
||||||
sta HERO_LIMIT
|
; sta HERO_LIMIT
|
||||||
|
|
||||||
; start battle count part-way in
|
; start battle count part-way in
|
||||||
lda #20
|
lda #20
|
||||||
|
|
|
@ -35,6 +35,9 @@ handle_overworld:
|
||||||
lda #$1
|
lda #$1
|
||||||
sta REFRESH
|
sta REFRESH
|
||||||
|
|
||||||
|
lda #3
|
||||||
|
sta HERO_LIMIT
|
||||||
|
|
||||||
lda #5
|
lda #5
|
||||||
sta MAP_X
|
sta MAP_X
|
||||||
|
|
||||||
|
|
|
@ -10,6 +10,12 @@
|
||||||
; Clear screen and setup graphics
|
; Clear screen and setup graphics
|
||||||
;================================
|
;================================
|
||||||
|
|
||||||
|
;================================
|
||||||
|
; Init Variables
|
||||||
|
;================================
|
||||||
|
|
||||||
|
jsr init_multiply_tables
|
||||||
|
|
||||||
;=====================
|
;=====================
|
||||||
; Handle Overworld
|
; Handle Overworld
|
||||||
;=====================
|
;=====================
|
||||||
|
|
Loading…
Reference in New Issue
Block a user