tfv: move around some of the files
42
tfv/Makefile
@ -4,6 +4,8 @@ DOS33 = ../dos33fs-utils/dos33
|
||||
PNG2GR = ../gr-utils/png2gr
|
||||
PNG2RLE = ../gr-utils/png2rle
|
||||
|
||||
ARTDIR = ./art
|
||||
|
||||
all: tfv.dsk
|
||||
|
||||
$(PNG2RLE):
|
||||
@ -12,32 +14,32 @@ $(PNG2RLE):
|
||||
$(DOS33):
|
||||
cd ../dos33fs-utils && make
|
||||
|
||||
tfv.dsk: $(DOS33) TFV HIGHWIND.ED FIGHTING.ED
|
||||
tfv.dsk: $(DOS33) TFV
|
||||
$(DOS33) -y tfv.dsk BSAVE -a 0x1000 TFV
|
||||
# $(DOS33) -y tfv.dsk BSAVE -a 0x2000 HIGHWIND.ED
|
||||
# $(DOS33) -y tfv.dsk BSAVE -a 0x2000 FIGHTING.ED
|
||||
|
||||
|
||||
tfv_backgrounds.inc: $(PNG2RLE) \
|
||||
title.png map.png \
|
||||
landing.png harfco.png \
|
||||
belair.png \
|
||||
math_office.png video_hr.png \
|
||||
collegep.png \
|
||||
umcp.png \
|
||||
dining.png metro.png talbot.png
|
||||
$(PNG2RLE) asm title.png title_rle > tfv_backgrounds.inc
|
||||
$(PNG2RLE) asm map.png map_rle >> tfv_backgrounds.inc
|
||||
$(PNG2RLE) asm landing.png landing_rle >> tfv_backgrounds.inc
|
||||
$(PNG2RLE) asm harfco.png harfco_rle >> tfv_backgrounds.inc
|
||||
$(PNG2RLE) asm belair.png belair_rle >> tfv_backgrounds.inc
|
||||
$(PNG2RLE) asm math_office.png math_office_rle >> tfv_backgrounds.inc
|
||||
$(PNG2RLE) asm video_hr.png video_hr_rle >> tfv_backgrounds.inc
|
||||
$(PNG2RLE) asm collegep.png collegep_rle >> tfv_backgrounds.inc
|
||||
$(PNG2RLE) asm umcp.png umcp_rle >> tfv_backgrounds.inc
|
||||
$(PNG2RLE) asm dining.png dining_rle >> tfv_backgrounds.inc
|
||||
$(PNG2RLE) asm metro.png metro_rle >> tfv_backgrounds.inc
|
||||
$(PNG2RLE) asm talbot.png talbot_rle >> tfv_backgrounds.inc
|
||||
$(ARTDIR)/title.png $(ARTDIR)/map.png \
|
||||
$(ARTDIR)/landing.png $(ARTDIR)/harfco.png \
|
||||
$(ARTDIR)/belair.png \
|
||||
$(ARTDIR)/math_office.png $(ARTDIR)/video_hr.png \
|
||||
$(ARTDIR)/collegep.png \
|
||||
$(ARTDIR)/umcp.png \
|
||||
$(ARTDIR)/dining.png $(ARTDIR)/metro.png $(ARTDIR)/talbot.png
|
||||
$(PNG2RLE) asm $(ARTDIR)/title.png title_rle > tfv_backgrounds.inc
|
||||
$(PNG2RLE) asm $(ARTDIR)/map.png map_rle >> tfv_backgrounds.inc
|
||||
$(PNG2RLE) asm $(ARTDIR)/landing.png landing_rle >> tfv_backgrounds.inc
|
||||
$(PNG2RLE) asm $(ARTDIR)/harfco.png harfco_rle >> tfv_backgrounds.inc
|
||||
$(PNG2RLE) asm $(ARTDIR)/belair.png belair_rle >> tfv_backgrounds.inc
|
||||
$(PNG2RLE) asm $(ARTDIR)/math_office.png math_office_rle >> tfv_backgrounds.inc
|
||||
$(PNG2RLE) asm $(ARTDIR)/video_hr.png video_hr_rle >> tfv_backgrounds.inc
|
||||
$(PNG2RLE) asm $(ARTDIR)/collegep.png collegep_rle >> tfv_backgrounds.inc
|
||||
$(PNG2RLE) asm $(ARTDIR)/umcp.png umcp_rle >> tfv_backgrounds.inc
|
||||
$(PNG2RLE) asm $(ARTDIR)/dining.png dining_rle >> tfv_backgrounds.inc
|
||||
$(PNG2RLE) asm $(ARTDIR)/metro.png metro_rle >> tfv_backgrounds.inc
|
||||
$(PNG2RLE) asm $(ARTDIR)/talbot.png talbot_rle >> tfv_backgrounds.inc
|
||||
|
||||
###
|
||||
|
||||
|
Before Width: | Height: | Size: 709 B After Width: | Height: | Size: 709 B |
Before Width: | Height: | Size: 515 B After Width: | Height: | Size: 515 B |
Before Width: | Height: | Size: 566 B After Width: | Height: | Size: 566 B |
Before Width: | Height: | Size: 527 B After Width: | Height: | Size: 527 B |
Before Width: | Height: | Size: 356 B After Width: | Height: | Size: 356 B |
Before Width: | Height: | Size: 368 B After Width: | Height: | Size: 368 B |
Before Width: | Height: | Size: 532 B After Width: | Height: | Size: 532 B |
Before Width: | Height: | Size: 397 B After Width: | Height: | Size: 397 B |
Before Width: | Height: | Size: 489 B After Width: | Height: | Size: 489 B |
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 582 B After Width: | Height: | Size: 582 B |
Before Width: | Height: | Size: 523 B After Width: | Height: | Size: 523 B |
Before Width: | Height: | Size: 541 B After Width: | Height: | Size: 541 B |
Before Width: | Height: | Size: 448 B After Width: | Height: | Size: 448 B |
Before Width: | Height: | Size: 507 B After Width: | Height: | Size: 507 B |
@ -1,98 +0,0 @@
|
||||
;=================
|
||||
; load RLE image
|
||||
;=================
|
||||
; Output is BASH/BASL
|
||||
; Input is in GBASH/GBASL
|
||||
load_rle_gr:
|
||||
lda #$0
|
||||
tax
|
||||
tay ; init X and Y to 0
|
||||
|
||||
sta CV ; ycoord=0
|
||||
|
||||
lda (GBASL),y ; load xsize
|
||||
sta CH
|
||||
iny ; (we should check if we had
|
||||
; bad luck and overflows page)
|
||||
|
||||
iny ; skip ysize
|
||||
|
||||
rle_loop:
|
||||
lda (GBASL),y ; load run value
|
||||
cmp #$ff ; if 0xff
|
||||
beq rle_done ; we are done
|
||||
sta RUN
|
||||
iny ; point to next value
|
||||
bne rle_yskip1 ; if overflow, increment address
|
||||
inc GBASH
|
||||
rle_yskip1:
|
||||
lda (GBASL),y ; load value to write
|
||||
iny
|
||||
bne rle_yskip2
|
||||
inc GBASH
|
||||
rle_yskip2:
|
||||
sty TEMP2 ; save y for later
|
||||
pha
|
||||
lda #$0
|
||||
tay
|
||||
pla ; convoluted way to set y to 0
|
||||
|
||||
rle_run_loop:
|
||||
sta (BASL),y ; write out the value
|
||||
inc BASL ; increment the pointer
|
||||
bne rle_skip3 ; if wrapped
|
||||
inc BASH ; then increment the high value
|
||||
rle_skip3:
|
||||
inx ; increment the X value
|
||||
cpx CH ; compare against the image width
|
||||
bcc rle_not_eol ; if less then keep going
|
||||
|
||||
pha ; save out value on stack
|
||||
|
||||
lda BASL ; cheat to avoid a 16-bit add
|
||||
cmp #$a7 ; we are adding 0x58 to get
|
||||
bcc rle_add_skip ; to the next line
|
||||
inc BASH
|
||||
rle_add_skip:
|
||||
clc
|
||||
adc #$58 ; actually do the 0x58 add
|
||||
sta BASL ; and store it back
|
||||
|
||||
inc CV ; add 2 to ypos
|
||||
inc CV ; each "line" is two high
|
||||
|
||||
lda CV ; load value
|
||||
cmp #15 ; if it's greater than 14 it wraps
|
||||
bcc rle_no_wrap ; Thanks Woz
|
||||
|
||||
lda #$0 ; we wrapped, so set to zero
|
||||
sta CV
|
||||
|
||||
; when wrapping have to sub 0x3d8
|
||||
sec ; this is a 16-bit subtract routine
|
||||
lda BASL
|
||||
sbc #$d8 ; LSB
|
||||
sta BASL
|
||||
lda BASH ; MSB
|
||||
sbc #$3 ;
|
||||
sta BASH
|
||||
|
||||
rle_no_wrap:
|
||||
lda #$0 ; set X value back to zero
|
||||
tax
|
||||
pla ; restore value to write from stack
|
||||
|
||||
rle_not_eol:
|
||||
dec RUN ; decrement run value
|
||||
bne rle_run_loop ; if not zero, keep looping
|
||||
|
||||
ldy TEMP2 ; restore the input pointer
|
||||
sec
|
||||
bcs rle_loop ; and branch always
|
||||
|
||||
rle_done:
|
||||
lda #$15 ; move the cursor somewhere sane
|
||||
sta CV
|
||||
rts
|
||||
|
||||
|