lemm: everything now fits, barely

This commit is contained in:
Vince Weaver 2022-03-15 18:49:04 -04:00
parent 3be732a51d
commit 36ccd81c7e
6 changed files with 63 additions and 18 deletions

View File

@ -1,7 +1,12 @@
div7_table = $bc00 ;div7_table = $bc00
mod7_table = $bd00 ;mod7_table = $bd00
hposn_high = $be00 ;hposn_high = $be00
hposn_low = $bf00 ;hposn_low = $bf00
div7_table = $c00
mod7_table = $d00
hposn_high = $e00
hposn_low = $f00

View File

@ -160,6 +160,28 @@ mockingboard_notfound:
skip_all_checks: skip_all_checks:
;==================================
; load sound into the language card
; into $D000 set 1
;==================================
; read/write RAM, use $d000 bank1
bit $C083
bit $C083
lda #<letsgo
sta getsrc_smc+1
lda #>letsgo
sta getsrc_smc+2
lda #$D0 ; decompress to $D000
jsr decompress_lzsa2_fast
; read/write RAM, use $d000 bank2
bit $C08b
bit $C08b
;================================== ;==================================
; load music into the language card ; load music into the language card
@ -169,8 +191,8 @@ skip_all_checks:
; switch in language card ; switch in language card
; read/write RAM, $d000 bank 2 ; read/write RAM, $d000 bank 2
lda $C083 lda $C08b
lda $C083 lda $C08b
jsr mockingboard_patch ; patch to work in slots other than 4? jsr mockingboard_patch ; patch to work in slots other than 4?
@ -322,11 +344,11 @@ config_string:
.include "graphics/graphics_level1.inc" .include "graphics/graphics_level1.inc"
;.include "graphics/graphics_level5.inc" .include "graphics/graphics_level5.inc"
.include "graphics/sprites.inc" .include "graphics/sprites.inc"
level5_lzsa: ;level5_lzsa:
level5_preview_lzsa: ;level5_preview_lzsa:
music_parts_h: music_parts_h:
.byte >lemm5_part1_lzsa,>lemm5_part2_lzsa,>lemm5_part3_lzsa .byte >lemm5_part1_lzsa,>lemm5_part2_lzsa,>lemm5_part3_lzsa
@ -367,4 +389,4 @@ lemm6_part5_lzsa:
.incbin "music/lemm6.part5.lzsa" .incbin "music/lemm6.part5.lzsa"
letsgo: letsgo:
.incbin "sounds/letsgo.btc" .incbin "sounds/letsgo.btc.lz4"

View File

@ -1,4 +1,4 @@
LETSGO = $D000
LETSGO_LENGTH = 14 LETSGO_LENGTH = 14
play_letsgo: play_letsgo:
@ -7,23 +7,27 @@ play_letsgo:
;beq done_link_noise ;beq done_link_noise
; switch in language card ; switch in language card
; read RAM, no write, $d000 bank 1 ; read/write RAM $d000 bank 1
bit $C083
bit $C083
; bit $C088
; call the btc player ; call the btc player
lda #<letsgo lda #<LETSGO
sta BTC_L sta BTC_L
lda #>letsgo lda #>LETSGO
sta BTC_H sta BTC_H
ldx #LETSGO_LENGTH ; 14 pages long??? ldx #LETSGO_LENGTH ; 14 pages long???
jsr play_audio jsr play_audio
; restore rom, no write, $d000 bank 1 ; read/write RAM, $d000 bank 2
bit $c08B
bit $c08B
; bit $c08A
rts rts

8
games/lemm/qboot.inc Normal file
View File

@ -0,0 +1,8 @@
seek = $1126
driveon = $119D
driveoff = $1122
load_new = $11AB
load_address=$11C4
load_track=load_address+1
load_sector=load_address+2
load_length=load_address+3

View File

@ -217,7 +217,7 @@ sector_array:
.byte 0 ; FIRST_SECTOR .byte 0 ; FIRST_SECTOR
length_array: length_array:
.byte 92,159,157,145 ; MIST_TITLE,MIST,MECHE,SELENA .byte 96,159,157,145 ; MIST_TITLE,MIST,MECHE,SELENA
.byte 128, 20,158,135 ; OCTAGON,VIEWER,STONEY,CHANNEL .byte 128, 20,158,135 ; OCTAGON,VIEWER,STONEY,CHANNEL
.byte 61, 31,159,109 ; CABIN,DENTIST,ARBOR,NIBEL .byte 61, 31,159,109 ; CABIN,DENTIST,ARBOR,NIBEL
.byte 20, 33, 27, 78 ; SHIP,GENERATOR,D'NI,SUB .byte 20, 33, 27, 78 ; SHIP,GENERATOR,D'NI,SUB

View File

@ -0,0 +1,6 @@
LZSA = ~/research/lzsa/lzsa/lzsa
all: letsgo.btc.lz4
letsgo.btc.lz4: letsgo.btc
$(LZSA) -r -f2 letsgo.btc letsgo.btc.lz4