sb: work on vert scroll

This commit is contained in:
Vince Weaver 2023-05-30 00:36:16 -04:00
parent 68dab4547d
commit c844297c3b
8 changed files with 173 additions and 37 deletions

View File

@ -77,7 +77,10 @@ TITLE: title.o
ld65 -o TITLE title.o -C $(LINKER_SCRIPTS)/apple2_6000.inc ld65 -o TITLE title.o -C $(LINKER_SCRIPTS)/apple2_6000.inc
title.o: title.s zx02_optim.s \ title.o: title.s zx02_optim.s \
zp.inc hardware.inc zp.inc hardware.inc \
hgr_vscroll.s \
graphics/czmg4ap_title.hgr.zx02 \
graphics/videlectrix_top.hgr.zx02
ca65 -o title.o title.s -l title.lst ca65 -o title.o title.s -l title.lst

View File

@ -1,2 +1,19 @@
FN: animation based on Strong Bad E-mail #152 "ISP" FN: animation based on Strong Bad E-mail #152 "ISP"
It's a long download of a "break-dancing" rat It's a long download of a "break-dancing" rat
MEMORY_MAP:
0000-00ff = zero page
0100-01ff = stack
0200-0369 = disk variables
036A-03ff = vectors and such
0400-07ff = text/gr page1
0800-0bff = text/gr page2
0c00-0fff = ????
1000-11ff = disk load code
1200-1fff = QLOAD
2000-3FFF = hgr page1
4000-5fff = hgr page2
6000-bfff = program space

View File

@ -11,6 +11,7 @@ PNG2SPRITES = ../../../utils/gr-utils/png2sprites
all: strongbad_sample.hgr.zx02 \ all: strongbad_sample.hgr.zx02 \
czmg4ap_title.hgr.zx02 \ czmg4ap_title.hgr.zx02 \
videlectrix_top.hgr.zx02 \
a2_duckpond_title.gr.zx02 \ a2_duckpond_title.gr.zx02 \
a2_duckpond.gr.zx02 \ a2_duckpond.gr.zx02 \
a2_duckpond_twilight.gr.zx02 \ a2_duckpond_twilight.gr.zx02 \
@ -98,6 +99,15 @@ czmg4ap_title.hgr.zx02: czmg4ap_title.hgr
czmg4ap_title.hgr: czmg4ap_title.png czmg4ap_title.hgr: czmg4ap_title.png
$(PNG_TO_HGR) czmg4ap_title.png > czmg4ap_title.hgr $(PNG_TO_HGR) czmg4ap_title.png > czmg4ap_title.hgr
####
videlectrix_top.hgr.zx02: videlectrix_top.hgr
$(ZX02) videlectrix_top.hgr videlectrix_top.hgr.zx02
videlectrix_top.hgr: videlectrix_top.png
$(PNG_TO_HGR) videlectrix_top.png > videlectrix_top.hgr
#### ####

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

View File

@ -1,7 +1,7 @@
div7_table = $1000 div7_table = $9C00
mod7_table = $1100 mod7_table = $9D00
hposn_high = $1200 hposn_high = $9E00
hposn_low = $1300 hposn_low = $9F00

76
games/sb/hgr_vscroll.s Normal file
View File

@ -0,0 +1,76 @@
;================================
; HGR vscroll
;================================
; image to scroll in is in $A000
hgr_vscroll:
ldx #191
stx SCROLL ; SCROLL = 0
vscroll_loop:
; for x=0 to 192-SCROLL
; write 40 bytes of 00
ldx #0
vscroll_inner:
lda hposn_high,X
sta OUTH
lda hposn_low,X
sta OUTL
ldy #39
lda #0
vscroll_line:
sta (OUTL),Y
dey
bpl vscroll_line
inx
cpx SCROLL
bne vscroll_inner
;====================
; draw bottom part
lda #0
sta SCROLL_OFFSET
vscroll_bottom:
stx XSAVE
ldx SCROLL_OFFSET
lda hposn_high,X
clc
adc #$80 ; ora instead?
sta INH
lda hposn_low,X
sta INL
inc SCROLL_OFFSET
ldx XSAVE
lda hposn_high,X
sta OUTH
lda hposn_low,X
sta OUTL
ldy #39
vscroll_bottom_line:
lda (INL),Y
sta (OUTL),Y
dey
bpl vscroll_bottom_line
inx
cpx #192
bne vscroll_bottom
;=====================
; scroll whole screen
dec SCROLL
bne vscroll_loop
rts

View File

@ -19,26 +19,59 @@ hires_start:
bit SET_GR bit SET_GR
bit PAGE1 bit PAGE1
;====================
; set up tables
;====================
lda #$20
sta HGR_PAGE
jsr hgr_make_tables
;=================== ;===================
; Load graphics
;=================== ;===================
load_loop: ; scroll the logo
;===================
;===================
scroll_logo:
;============================= ;===================
; decomress to $a000
;==========================
; Load Image
;===========================
load_image:
; size in ldsizeh:ldsizel (f1/f0) ; size in ldsizeh:ldsizel (f1/f0)
lda #<comp_data lda #<vid_top
sta ZX0_src sta ZX0_src
lda #>comp_data lda #>vid_top
sta ZX0_src+1
lda #$A0
jsr full_decomp
;======================
; scroll up vertically
;======================
jsr hgr_vscroll
;===================
; Do Title Screen
;===================
load_loop:
;==========================
; Load Title Image
;===========================
load_title_image:
; size in ldsizeh:ldsizel (f1/f0)
lda #<title_data
sta ZX0_src
lda #>title_data
sta ZX0_src+1 sta ZX0_src+1
@ -74,7 +107,10 @@ done:
rts rts
.include "zx02_optim.s" .include "zx02_optim.s"
.include "hgr_tables.s"
.include "hgr_vscroll.s"
title_data:
comp_data:
.incbin "graphics/czmg4ap_title.hgr.zx02" .incbin "graphics/czmg4ap_title.hgr.zx02"
vid_top:
.incbin "graphics/videlectrix_top.hgr.zx02"

View File

@ -34,26 +34,20 @@ COLOR = $30
; overlap applesoft 67-6a,6f,70,af,b0,ca-cd,d8 ; overlap applesoft 67-6a,6f,70,af,b0,ca-cd,d8
; DOS33: Confirmed kills $68
RWTSL = $60
RWTSH = $61
DOSBUFL = $62
DOSBUFH = $63
FILEML = $64
FILEMH = $65
FRAME = $60 FRAME = $60
FRAMEH = $61 FRAMEH = $61
WAITING = $62 SCROLL = $62
LETTERL = $63 XSAVE = $63
LETTERH = $64 SCROLL_OFFSET = $64
LETTERX = $65
LETTERY = $66 ;WAITING = $62
LETTERD = $67 ;LETTERL = $63
LETTER = $68 ;LETTERH = $64
BLARGH = $69 ;LETTERX = $65
;LETTERY = $66
;LETTERD = $67
;LETTER = $68
;BLARGH = $69
;FACTOR_I = $66 ;FACTOR_I = $66
;FACTOR_F = $67 ;FACTOR_F = $67