mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-08-27 21:29:36 +00:00
xmas2018: stop padding filenames
This commit is contained in:
parent
28e89b2acb
commit
30e70e2ebe
@ -7,13 +7,13 @@ PNG_TO_RLE = ../gr-utils/png2rle
|
|||||||
|
|
||||||
all: xmas2018.dsk
|
all: xmas2018.dsk
|
||||||
|
|
||||||
xmas2018.dsk: HELLO XMAS2018 wreath.img.lz4t ball.img.lz4 merry.img.lz4 MUSIC.lz4
|
xmas2018.dsk: HELLO XMAS2018 wreath.img.lz4t ball.img.lz4 merry.img.lz4t MUSIC.lz4t
|
||||||
$(DOS33) -y xmas2018.dsk SAVE A HELLO
|
$(DOS33) -y xmas2018.dsk SAVE A HELLO
|
||||||
$(DOS33) -y xmas2018.dsk BSAVE -a 0x1000 XMAS2018
|
$(DOS33) -y xmas2018.dsk BSAVE -a 0x1000 XMAS2018
|
||||||
$(DOS33) -y xmas2018.dsk BSAVE -a 0xa000 wreath.img.lz4t WREATH.LZ4
|
$(DOS33) -y xmas2018.dsk BSAVE -a 0xa000 wreath.img.lz4t WREATH.LZ4
|
||||||
$(DOS33) -y xmas2018.dsk BSAVE -a 0xa000 ball.img.lz4 BALL.LZ4
|
$(DOS33) -y xmas2018.dsk BSAVE -a 0xa000 ball.img.lz4 BALL.LZ4
|
||||||
$(DOS33) -y xmas2018.dsk BSAVE -a 0xa000 merry.img.lz4 MERRY.LZ4
|
$(DOS33) -y xmas2018.dsk BSAVE -a 0x4000 merry.img.lz4t MERRY.LZ4
|
||||||
$(DOS33) -y xmas2018.dsk BSAVE -a 0x6000 MUSIC.lz4 MUSIC.LZ4
|
$(DOS33) -y xmas2018.dsk BSAVE -a 0x4000 MUSIC.lz4t MUSIC.LZ4
|
||||||
# $(DOS33) -y xmas2018.dsk BSAVE -a 0x2000 wreath.img WREATH.IMG
|
# $(DOS33) -y xmas2018.dsk BSAVE -a 0x2000 wreath.img WREATH.IMG
|
||||||
$(DOS33) -y xmas2018.dsk BSAVE -a 0x4000 ball.img BALL.IMG
|
$(DOS33) -y xmas2018.dsk BSAVE -a 0x4000 ball.img BALL.IMG
|
||||||
|
|
||||||
@ -33,6 +33,10 @@ xmas2018.o: xmas2018.s \
|
|||||||
|
|
||||||
####
|
####
|
||||||
|
|
||||||
|
MUSIC.lz4t: MUSIC.lz4
|
||||||
|
dd if=MUSIC.lz4 of=MUSIC.lz4t bs=1 skip=11
|
||||||
|
truncate MUSIC.lz4t -s -8
|
||||||
|
|
||||||
MUSIC.lz4: MUSIC
|
MUSIC.lz4: MUSIC
|
||||||
lz4 -16 -f MUSIC
|
lz4 -16 -f MUSIC
|
||||||
|
|
||||||
@ -49,6 +53,10 @@ HELLO: hello.bas
|
|||||||
|
|
||||||
####
|
####
|
||||||
|
|
||||||
|
merry.img.lz4t: merry.img.lz4
|
||||||
|
dd if=merry.img.lz4 of=merry.img.lz4t bs=1 skip=11
|
||||||
|
truncate merry.img.lz4t -s -8
|
||||||
|
|
||||||
merry.img.lz4: merry.img
|
merry.img.lz4: merry.img
|
||||||
lz4 -f -16 merry.img
|
lz4 -f -16 merry.img
|
||||||
|
|
||||||
|
@ -19,3 +19,4 @@ SIZE:
|
|||||||
3903 -- add in support for all 5 candles
|
3903 -- add in support for all 5 candles
|
||||||
3647 -- make sprites non-transparent
|
3647 -- make sprites non-transparent
|
||||||
3903 -- turn all flames back on
|
3903 -- turn all flames back on
|
||||||
|
3853 -- stop padding filenames
|
||||||
|
@ -4,7 +4,10 @@
|
|||||||
; modified to assembled with ca64 -- vmw
|
; modified to assembled with ca64 -- vmw
|
||||||
; added code to patch it to run from current disk slot -- vmw
|
; added code to patch it to run from current disk slot -- vmw
|
||||||
|
|
||||||
; also stores filesize in ldsizel:ldsizeh
|
; USAGE:
|
||||||
|
; file to load in namlo:namhi
|
||||||
|
; Loads file contents to addr from filesystem
|
||||||
|
; also stores filesize in ldsizel:ldsizeh
|
||||||
|
|
||||||
dirbuf = $900
|
dirbuf = $900
|
||||||
; note, don't put this immediately below
|
; note, don't put this immediately below
|
||||||
@ -12,55 +15,21 @@
|
|||||||
; is temporarily overwritten during read
|
; is temporarily overwritten during read
|
||||||
; process
|
; process
|
||||||
|
|
||||||
|
|
||||||
; note also, can't load file bigger than $8000 (32k) in size?
|
|
||||||
; seems to break things?
|
|
||||||
|
|
||||||
;======================
|
;======================
|
||||||
|
|
||||||
|
|
||||||
; open and read a file
|
|
||||||
; lda #<md000_filename
|
|
||||||
; sta namlo
|
|
||||||
; lda #>md000_filename
|
|
||||||
; sta namhi
|
|
||||||
; jsr opendir ; open and read entire file into memory
|
|
||||||
|
|
||||||
|
|
||||||
; filename to open is 30-character Apple text:
|
; filename to open is 30-character Apple text:
|
||||||
;megademo_filename: ;.byte "MEGADEMO "
|
filename:
|
||||||
; .byte 'M'|$80,'E'|$80,'G'|$80,'A'|$80,'D'|$80,'E'|$80,'M'|$80,'O'|$80
|
.byte $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0
|
||||||
; .byte $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0
|
.byte $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0
|
||||||
; .byte $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0
|
.byte $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0
|
||||||
; .byte $A0,$A0,$A0,$A0,$A0,$A0
|
.byte $A0,$A0,$A0,$A0,$A0,$A0
|
||||||
|
|
||||||
;c64_filename: ;.byte "C64.IMG "
|
|
||||||
; .byte 'C'|$80,'6'|$80,'4'|$80,'.'|$80,'I'|$80,'M'|$80,'G'|$80,$A0
|
|
||||||
; .byte $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0
|
|
||||||
; .byte $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0
|
|
||||||
; .byte $A0,$A0,$A0,$A0,$A0,$A0
|
|
||||||
|
|
||||||
;m1000_filename: ;.byte "MUSIC.1000 "
|
|
||||||
; .byte 'M'|$80,'U'|$80,'S'|$80,'I'|$80,'C'|$80,'.'|$80,'1'|$80,'0'|$80
|
|
||||||
; .byte '0'|$80,'0'|$80,$A0,$A0,$A0,$A0,$A0,$A0
|
|
||||||
; .byte $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0
|
|
||||||
; .byte $A0,$A0,$A0,$A0,$A0,$A0
|
|
||||||
|
|
||||||
;md000_filename: ;.byte "MUSIC.D000 "
|
|
||||||
; .byte 'M'|$80,'U'|$80,'S'|$80,'I'|$80,'C'|$80,'.'|$80,'D'|$80,'0'|$80
|
|
||||||
; .byte '0'|$80,'0'|$80,$A0,$A0,$A0,$A0,$A0,$A0
|
|
||||||
; .byte $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0
|
|
||||||
; .byte $A0,$A0,$A0,$A0,$A0,$A0
|
|
||||||
|
|
||||||
;md000x2_filename: ;.byte "MUSIC.D000X2 "
|
|
||||||
; .byte 'M'|$80,'U'|$80,'S'|$80,'I'|$80,'C'|$80,'.'|$80,'D'|$80,'0'|$80
|
|
||||||
; .byte '0'|$80,'0'|$80,'X'|$80,'2'|$80,$A0,$A0,$A0,$A0
|
|
||||||
; .byte $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0
|
|
||||||
; .byte $A0,$A0,$A0,$A0,$A0,$A0
|
|
||||||
|
|
||||||
|
|
||||||
|
;=======================================================
|
||||||
|
;=======================================================
|
||||||
|
;=======================================================
|
||||||
;unhook DOS and build nibble table
|
;unhook DOS and build nibble table
|
||||||
|
|
||||||
rts_init:
|
rts_init:
|
||||||
; patch to use current drive
|
; patch to use current drive
|
||||||
|
|
||||||
@ -129,6 +98,45 @@ L3: inx ; increment x x=4, a=0f
|
|||||||
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
|
||||||
|
;=======================================================
|
||||||
|
;=======================================================
|
||||||
|
;=======================================================
|
||||||
|
|
||||||
|
; filename in OUTL:OUTH
|
||||||
|
|
||||||
|
opendir_filename:
|
||||||
|
|
||||||
|
; clear out the filename with $A0 (space)
|
||||||
|
|
||||||
|
lda #<filename
|
||||||
|
sta namlo
|
||||||
|
lda #>filename
|
||||||
|
sta namhi
|
||||||
|
|
||||||
|
ldy #29
|
||||||
|
wipe_filename_loop:
|
||||||
|
lda #$A0
|
||||||
|
sta (namlo),Y
|
||||||
|
dey
|
||||||
|
bpl wipe_filename_loop
|
||||||
|
|
||||||
|
ldy #0
|
||||||
|
copy_filename_loop:
|
||||||
|
lda (OUTL),Y
|
||||||
|
beq copy_filename_done
|
||||||
|
sta (namlo),Y
|
||||||
|
iny
|
||||||
|
bne copy_filename_loop
|
||||||
|
|
||||||
|
copy_filename_done:
|
||||||
|
|
||||||
|
; fallthrough
|
||||||
|
|
||||||
|
;=======================================================
|
||||||
|
;=======================================================
|
||||||
|
;=======================================================
|
||||||
|
|
||||||
;===========================
|
;===========================
|
||||||
; opendir
|
; opendir
|
||||||
;===========================
|
;===========================
|
||||||
|
@ -5,14 +5,7 @@
|
|||||||
.include "zp.inc"
|
.include "zp.inc"
|
||||||
.include "hardware.inc"
|
.include "hardware.inc"
|
||||||
|
|
||||||
; external routines
|
xmas2018_start:
|
||||||
|
|
||||||
;play_music=$1000
|
|
||||||
;mockingboard_init=$1100
|
|
||||||
;mockingboard_mute=$11a1
|
|
||||||
|
|
||||||
|
|
||||||
xmas2018_start: ; this should end up at $4000
|
|
||||||
|
|
||||||
;===================
|
;===================
|
||||||
; Check for Apple II and patch
|
; Check for Apple II and patch
|
||||||
@ -22,7 +15,7 @@ xmas2018_start: ; this should end up at $4000
|
|||||||
cmp #6
|
cmp #6
|
||||||
beq apple_iie
|
beq apple_iie
|
||||||
|
|
||||||
; lda #$54 ; patch the check_email font code
|
; lda #$54 ;
|
||||||
; sta ce_patch+1
|
; sta ce_patch+1
|
||||||
|
|
||||||
|
|
||||||
@ -39,15 +32,14 @@ apple_iie:
|
|||||||
;===================
|
;===================
|
||||||
|
|
||||||
; load WREATH.LZ4 to $a000
|
; load WREATH.LZ4 to $a000
|
||||||
|
; then decompress it to $2000 (HGR PAGE0)
|
||||||
|
|
||||||
lda #<wreath_filename
|
lda #<wreath_filename
|
||||||
sta namlo
|
sta OUTL
|
||||||
lda #>wreath_filename
|
lda #>wreath_filename
|
||||||
sta namhi
|
sta OUTH
|
||||||
jsr opendir ; open and read entire file into memory
|
jsr opendir_filename ; open and read entire file into memory
|
||||||
|
|
||||||
; decompress to $2000
|
|
||||||
; decompress from $a000
|
|
||||||
; size in ldsizeh:ldsizel (f1/f0)
|
; size in ldsizeh:ldsizel (f1/f0)
|
||||||
|
|
||||||
clc
|
clc
|
||||||
@ -73,31 +65,61 @@ apple_iie:
|
|||||||
|
|
||||||
jsr lz4_decode
|
jsr lz4_decode
|
||||||
|
|
||||||
|
; load MERRY.LZ4 to $4000
|
||||||
|
; then decompress it to $6000
|
||||||
|
|
||||||
|
lda #<merry_filename
|
||||||
|
sta OUTL
|
||||||
|
lda #>merry_filename
|
||||||
|
sta OUTH
|
||||||
|
jsr opendir_filename ; open and read entire file into memory
|
||||||
|
|
||||||
|
; size in ldsizeh:ldsizel (f1/f0)
|
||||||
|
|
||||||
|
clc
|
||||||
|
lda #<($4000)
|
||||||
|
sta LZ4_SRC
|
||||||
|
adc ldsizel
|
||||||
|
sta LZ4_END
|
||||||
|
|
||||||
|
lda #>($4000)
|
||||||
|
sta LZ4_SRC+1
|
||||||
|
adc ldsizeh
|
||||||
|
sta LZ4_END+1
|
||||||
|
|
||||||
|
lda #<$6000
|
||||||
|
sta LZ4_DST
|
||||||
|
lda #>$6000
|
||||||
|
sta LZ4_DST+1
|
||||||
|
|
||||||
|
jsr lz4_decode
|
||||||
|
|
||||||
|
|
||||||
;===================
|
;===================
|
||||||
; Load music
|
; Load music
|
||||||
;===================
|
;===================
|
||||||
|
|
||||||
; load MUSIC.LZ4 to $6000
|
; load MUSIC.LZ4 to $4000
|
||||||
|
|
||||||
lda #<music_filename
|
lda #<music_filename
|
||||||
sta namlo
|
sta OUTL
|
||||||
lda #>music_filename
|
lda #>music_filename
|
||||||
sta namhi
|
sta OUTH
|
||||||
jsr opendir ; open and read entire file into memory
|
jsr opendir_filename ; open and read entire file into memory
|
||||||
|
|
||||||
; decompress to $8000
|
; decompress to $8000
|
||||||
; decompress from $8000
|
; decompress from $4000
|
||||||
; size in ???
|
; size in ldsizeh:ldsizel (f1/f0)
|
||||||
|
|
||||||
|
clc
|
||||||
lda #<($6000+11)
|
lda #<($4000)
|
||||||
sta LZ4_SRC
|
sta LZ4_SRC
|
||||||
lda #>($6000+11)
|
adc ldsizel
|
||||||
sta LZ4_SRC+1
|
|
||||||
|
|
||||||
lda #<($6000+865-8) ; skip checksum at end
|
|
||||||
sta LZ4_END
|
sta LZ4_END
|
||||||
lda #>($6000+865-8) ; skip checksum at end
|
|
||||||
|
lda #>($4000)
|
||||||
|
sta LZ4_SRC+1
|
||||||
|
adc ldsizeh
|
||||||
sta LZ4_END+1
|
sta LZ4_END+1
|
||||||
|
|
||||||
lda #<$8000
|
lda #<$8000
|
||||||
@ -110,10 +132,10 @@ apple_iie:
|
|||||||
; load BALL.IMG to $4000
|
; load BALL.IMG to $4000
|
||||||
|
|
||||||
lda #<ball_filename
|
lda #<ball_filename
|
||||||
sta namlo
|
sta OUTL
|
||||||
lda #>ball_filename
|
lda #>ball_filename
|
||||||
sta namhi
|
sta OUTH
|
||||||
jsr opendir ; open and read entire file into memory
|
jsr opendir_filename ; open and read entire file into memory
|
||||||
|
|
||||||
;==================
|
;==================
|
||||||
; Init mockingboard
|
; Init mockingboard
|
||||||
@ -161,71 +183,23 @@ game_over_man:
|
|||||||
.include "vapor_lock.s"
|
.include "vapor_lock.s"
|
||||||
.include "delay_a.s"
|
.include "delay_a.s"
|
||||||
.include "wait_keypress.s"
|
.include "wait_keypress.s"
|
||||||
; .include "random16.s"
|
|
||||||
; .include "hgr.s"
|
|
||||||
; .include "move_letters.s"
|
|
||||||
.include "gr_putsprite.s"
|
.include "gr_putsprite.s"
|
||||||
; .include "text_print.s"
|
; .include "text_print.s"
|
||||||
; .include "screen_split.s"
|
|
||||||
|
|
||||||
.include "play_music.s"
|
.include "play_music.s"
|
||||||
|
|
||||||
;============================
|
|
||||||
; Include Sprites
|
|
||||||
;============================
|
|
||||||
;.align $100
|
|
||||||
; .include "tfv_sprites.inc"
|
|
||||||
; .include "mode7_sprites.inc"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
;=================================
|
|
||||||
; Include Text for Sliding Letters
|
|
||||||
; *DONT CROSS PAGES*
|
|
||||||
;=================================
|
|
||||||
;.include "letters.s"
|
|
||||||
|
|
||||||
;============================
|
|
||||||
; Include Lores Graphics
|
|
||||||
; No Alignment Needed
|
|
||||||
;============================
|
|
||||||
|
|
||||||
;============================
|
|
||||||
; Include Hires Graphics
|
|
||||||
; No Alignment Needed
|
|
||||||
; FIXME: we can save 8 bytes per file by stripping checksums off end
|
|
||||||
;============================
|
|
||||||
|
|
||||||
;wreath_hgr:
|
|
||||||
;.incbin "wreath.img.lz4",11
|
|
||||||
;wreath_hgr_end:
|
|
||||||
|
|
||||||
;ball_hgr:
|
|
||||||
;.incbin "ball.img.lz4",11
|
|
||||||
;ball_hgr_end:
|
|
||||||
|
|
||||||
;merry_hgr:
|
|
||||||
;.incbin "merry.img.lz4",11
|
|
||||||
;merry_hgr_end:
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
; filename to open is 30-character Apple text:
|
; filename to open is 30-character Apple text:
|
||||||
wreath_filename: ;.byte "WREATH.LZ4 "
|
wreath_filename: ; .byte "WREATH.LZ4",0
|
||||||
.byte 'W'|$80,'R'|$80,'E'|$80,'A'|$80,'T'|$80,'H'|$80,'.'|$80,'L'|$80
|
.byte 'W'|$80,'R'|$80,'E'|$80,'A'|$80,'T'|$80,'H'|$80,'.'|$80,'L'|$80
|
||||||
.byte 'Z'|$80,'4'|$80,$A0,$A0,$A0,$A0,$A0,$A0
|
.byte 'Z'|$80,'4'|$80,$00
|
||||||
.byte $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0
|
|
||||||
.byte $A0,$A0,$A0,$A0,$A0,$A0
|
|
||||||
|
|
||||||
ball_filename: ;.byte "BALL.IMG "
|
merry_filename: ;.byte "MERRY.LZ4",0
|
||||||
|
.byte 'M'|$80,'E'|$80,'R'|$80,'R'|$80,'Y'|$80,'.'|$80,'L'|$80,'Z'|$80
|
||||||
|
.byte '4'|$80,$00
|
||||||
|
|
||||||
|
ball_filename: ;.byte "BALL.IMG",0
|
||||||
.byte 'B'|$80,'A'|$80,'L'|$80,'L'|$80,'.'|$80,'I'|$80,'M'|$80,'G'|$80
|
.byte 'B'|$80,'A'|$80,'L'|$80,'L'|$80,'.'|$80,'I'|$80,'M'|$80,'G'|$80
|
||||||
.byte $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0
|
.byte $00
|
||||||
.byte $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0
|
|
||||||
.byte $A0,$A0,$A0,$A0,$A0,$A0
|
|
||||||
|
|
||||||
|
music_filename: ;.byte "MUSIC.LZ4",0
|
||||||
music_filename: ;.byte "MUSIC.LZ4 "
|
|
||||||
.byte 'M'|$80,'U'|$80,'S'|$80,'I'|$80,'C'|$80,'.'|$80,'L'|$80,'Z'|$80
|
.byte 'M'|$80,'U'|$80,'S'|$80,'I'|$80,'C'|$80,'.'|$80,'L'|$80,'Z'|$80
|
||||||
.byte '4'|$80,$A0,$A0,$A0,$A0,$A0,$A0,$A0
|
.byte '4'|$80,$0
|
||||||
.byte $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0
|
|
||||||
.byte $A0,$A0,$A0,$A0,$A0,$A0
|
|
||||||
|
Loading…
Reference in New Issue
Block a user