mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-11-16 23:20:43 +00:00
sb: work on vert scroll
This commit is contained in:
parent
68dab4547d
commit
c844297c3b
@ -77,7 +77,10 @@ TITLE: title.o
|
||||
ld65 -o TITLE title.o -C $(LINKER_SCRIPTS)/apple2_6000.inc
|
||||
|
||||
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
|
||||
|
||||
|
||||
|
@ -1,2 +1,19 @@
|
||||
FN: animation based on Strong Bad E-mail #152 "ISP"
|
||||
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
|
||||
|
@ -11,6 +11,7 @@ PNG2SPRITES = ../../../utils/gr-utils/png2sprites
|
||||
|
||||
all: strongbad_sample.hgr.zx02 \
|
||||
czmg4ap_title.hgr.zx02 \
|
||||
videlectrix_top.hgr.zx02 \
|
||||
a2_duckpond_title.gr.zx02 \
|
||||
a2_duckpond.gr.zx02 \
|
||||
a2_duckpond_twilight.gr.zx02 \
|
||||
@ -98,6 +99,15 @@ czmg4ap_title.hgr.zx02: czmg4ap_title.hgr
|
||||
czmg4ap_title.hgr: czmg4ap_title.png
|
||||
$(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
|
||||
|
||||
|
||||
|
||||
####
|
||||
|
||||
|
BIN
games/sb/graphics/videlectrix_top.png
Normal file
BIN
games/sb/graphics/videlectrix_top.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 9.4 KiB |
@ -1,7 +1,7 @@
|
||||
div7_table = $1000
|
||||
mod7_table = $1100
|
||||
hposn_high = $1200
|
||||
hposn_low = $1300
|
||||
div7_table = $9C00
|
||||
mod7_table = $9D00
|
||||
hposn_high = $9E00
|
||||
hposn_low = $9F00
|
||||
|
||||
|
||||
|
||||
|
76
games/sb/hgr_vscroll.s
Normal file
76
games/sb/hgr_vscroll.s
Normal 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
|
@ -19,26 +19,59 @@ hires_start:
|
||||
bit SET_GR
|
||||
bit PAGE1
|
||||
|
||||
;====================
|
||||
; set up tables
|
||||
;====================
|
||||
|
||||
lda #$20
|
||||
sta HGR_PAGE
|
||||
jsr hgr_make_tables
|
||||
|
||||
;===================
|
||||
; Load graphics
|
||||
;===================
|
||||
load_loop:
|
||||
; scroll the logo
|
||||
;===================
|
||||
;===================
|
||||
scroll_logo:
|
||||
|
||||
;=============================
|
||||
|
||||
|
||||
;==========================
|
||||
; Load Image
|
||||
;===========================
|
||||
|
||||
load_image:
|
||||
;===================
|
||||
; decomress to $a000
|
||||
|
||||
; size in ldsizeh:ldsizel (f1/f0)
|
||||
|
||||
lda #<comp_data
|
||||
lda #<vid_top
|
||||
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
|
||||
|
||||
|
||||
@ -74,7 +107,10 @@ done:
|
||||
rts
|
||||
|
||||
.include "zx02_optim.s"
|
||||
.include "hgr_tables.s"
|
||||
.include "hgr_vscroll.s"
|
||||
|
||||
|
||||
comp_data:
|
||||
title_data:
|
||||
.incbin "graphics/czmg4ap_title.hgr.zx02"
|
||||
vid_top:
|
||||
.incbin "graphics/videlectrix_top.hgr.zx02"
|
||||
|
@ -34,26 +34,20 @@ COLOR = $30
|
||||
; 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
|
||||
FRAMEH = $61
|
||||
WAITING = $62
|
||||
LETTERL = $63
|
||||
LETTERH = $64
|
||||
LETTERX = $65
|
||||
LETTERY = $66
|
||||
LETTERD = $67
|
||||
LETTER = $68
|
||||
BLARGH = $69
|
||||
SCROLL = $62
|
||||
XSAVE = $63
|
||||
SCROLL_OFFSET = $64
|
||||
|
||||
;WAITING = $62
|
||||
;LETTERL = $63
|
||||
;LETTERH = $64
|
||||
;LETTERX = $65
|
||||
;LETTERY = $66
|
||||
;LETTERD = $67
|
||||
;LETTER = $68
|
||||
;BLARGH = $69
|
||||
|
||||
;FACTOR_I = $66
|
||||
;FACTOR_F = $67
|
||||
|
Loading…
Reference in New Issue
Block a user