mirror of
https://github.com/badvision/lawless-legends.git
synced 2025-01-11 21:29:46 +00:00
Compression now fully working. Also, changed core to be a .system file, so we don't need BASIC.SYSTEM any more.
This commit is contained in:
parent
b8d146ca73
commit
f6a6e844bb
@ -640,12 +640,7 @@ class PackPartitions
|
||||
{
|
||||
// Make a list of all the chunks that will be in the partition
|
||||
def chunks = []
|
||||
code.values().each {
|
||||
debugCompression = (it.num == 1)
|
||||
println "Code #${it.num} debug=$debugCompression."
|
||||
chunks.add([type:TYPE_CODE, num:it.num, buf:compress(it.buf)])
|
||||
debugCompression = false
|
||||
}
|
||||
code.values().each { chunks.add([type:TYPE_CODE, num:it.num, buf:compress(it.buf)]) }
|
||||
fonts.values().each { chunks.add([type:TYPE_FONT, num:it.num, buf:compress(it.buf)]) }
|
||||
frames.values().each { chunks.add([type:TYPE_FRAME_IMG, num:it.num, buf:compress(it.buf)]) }
|
||||
maps2D.values().each { chunks.add([type:TYPE_2D_MAP, num:it.num, buf:compress(it.buf)]) }
|
||||
|
@ -45,7 +45,7 @@
|
||||
<delete failonerror="false" dir="${build.dir}/root"/>
|
||||
<mkdir dir="${build.dir}/root"/>
|
||||
<copy todir="${build.dir}/root">
|
||||
<fileset dir="${src.dir}/core/build" includes="*.bin*"/>
|
||||
<fileset dir="${src.dir}/core/build" includes="*.sys*"/>
|
||||
<fileset dir="./build" includes="game.part*.bin"/>
|
||||
</copy>
|
||||
<mkdir dir="${build.dir}/root/"/>
|
||||
|
@ -32,7 +32,7 @@
|
||||
relative="true" parallel="false" failonerror="true" verbose="true">
|
||||
<fileset dir="${src.dir}" includes="*.s"/>
|
||||
<arg value="-o"/>
|
||||
<arg value="${build.dir}/core.bin#800"/>
|
||||
<arg value="${build.dir}/core.system.sys#2000"/>
|
||||
<arg line="${ASM_SETTINGS}"/>
|
||||
<srcfile/>
|
||||
</apply>
|
||||
|
@ -44,9 +44,34 @@ prodosMemMap = $BF58
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; Initial vectors - these have to start at $800
|
||||
jmp init
|
||||
codeBegin:
|
||||
clc
|
||||
bcc locationCheck
|
||||
jmp main_dispatch
|
||||
jmp aux_dispatch
|
||||
locationCheck:
|
||||
jsr monrts
|
||||
tsx
|
||||
lda $100,x
|
||||
cmp #>*
|
||||
bne +
|
||||
jmp init
|
||||
+ sta pSrc+1
|
||||
lda #>*
|
||||
sta pDst+1
|
||||
ldy #0
|
||||
sty pSrc
|
||||
sty pDst
|
||||
ldx #>(tableEnd-codeBegin+$100)
|
||||
- lda (pSrc),y
|
||||
sta (pDst),y
|
||||
iny
|
||||
bne -
|
||||
inc pSrc+1
|
||||
inc pDst+1
|
||||
dex
|
||||
bne -
|
||||
jmp codeBegin
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; Variables
|
||||
@ -317,6 +342,9 @@ fatalError: !zone
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
init: !zone
|
||||
; put something interesting on the screen :)
|
||||
jsr home
|
||||
+prStr : !text "Welcome to Lawless Legends.",0
|
||||
; close all files
|
||||
lda #0
|
||||
jsr closeFile
|
||||
|
@ -77,6 +77,7 @@ clsApple = $C062
|
||||
; ROM routines
|
||||
prntax = $F941
|
||||
textinit= $FB2F
|
||||
home = $FC58
|
||||
rdkey = $FD0C
|
||||
getln1 = $FD6F
|
||||
crout = $FD8E
|
||||
@ -89,6 +90,7 @@ prerr = $FF2D
|
||||
bell = $FF3A
|
||||
iosave = $FF4A
|
||||
iorest = $FF3F
|
||||
monrts = $FF58
|
||||
monitor = $FF69
|
||||
getnum = $FFA7
|
||||
|
||||
|
@ -27,8 +27,7 @@ pDst = $8 ; len 2
|
||||
pTex = $A ; len 2
|
||||
pixNum = $C ; len 1
|
||||
byteNum = $D ; len 1
|
||||
mapWidth = $12 ; len 1
|
||||
mapHeight = $13 ; len 1
|
||||
unused0E = $E ; len 6
|
||||
pRayData = $14 ; len 2
|
||||
txNum = $16 ; len 1
|
||||
txColumn = $17 ; len 1
|
||||
@ -56,6 +55,8 @@ screenCol = $60 ; len 1
|
||||
playerDir = $61 ; len 1
|
||||
playerX = $62 ; len 2 (hi=integer, lo=fraction)
|
||||
playerY = $64 ; len 2 (hi=integer, lo=fraction)
|
||||
mapWidth = $66 ; len 1
|
||||
mapHeight = $67 ; len 1
|
||||
|
||||
;---------------------------------
|
||||
; The following are in aux mem...
|
||||
@ -72,8 +73,8 @@ decodeTo23b = $AA00
|
||||
decodeTo45 = $AB00
|
||||
decodeTo56 = $AC00
|
||||
decodeTo57 = $AD00
|
||||
clrBlitRollE = $AE00 ; size 3*(128/2) = $C0, plus 2 for tya and rts
|
||||
clrBlitRollO = $AEC2 ; size 3*(128/2) = $C0, plus 2 for tya and rts
|
||||
clrBlitRollE = $AE00 ; size 3*(128/2) = $C0, plus 2 for tya and rts
|
||||
clrBlitRollO = $AEC2 ; size 3*(128/2) = $C0, plus 2 for tya and rts
|
||||
texAddrLo = $AF84
|
||||
texAddrHi = texAddrLo + MAX_TEXTURES
|
||||
blitRoll = $B000 ; Unrolled blitting code. Size 29*128 = $E80, plus 1 for rts
|
||||
|
Loading…
x
Reference in New Issue
Block a user