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