mirror of
https://github.com/badvision/lawless-legends.git
synced 2024-09-27 14:56:40 +00:00
Fixes to the Apple II build system; step mode and proper ProDOS quit in render demo.
This commit is contained in:
parent
be2ae30116
commit
73b51d1b26
1
.gitignore
vendored
1
.gitignore
vendored
@ -13,3 +13,4 @@
|
||||
|
||||
# Only check in sample.build.props; each person's build.props will be different.
|
||||
/Platform/Apple/virtual/src/include/build.props
|
||||
/Platform/Apple/tools/A2Copy/build/
|
@ -29,6 +29,7 @@
|
||||
<ant dir="${src.dir}/raycast" target="build" useNativeBasedir="true" inheritAll="false"/>
|
||||
|
||||
<!-- Construct a directory to put on the Apple -->
|
||||
<delete failonerror="false" dir="${build.dir}/root"/>
|
||||
<mkdir dir="${build.dir}/root"/>
|
||||
<copy todir="${build.dir}/root">
|
||||
<fileset dir="${src.dir}/raycast/build" includes="*.bin*"/>
|
||||
@ -42,6 +43,7 @@
|
||||
</copy>
|
||||
|
||||
<!-- Make a new base image file -->
|
||||
<delete failonerror="false" file="${build.dir}/${projName}.2mg"/>
|
||||
<bunzip2 src="./data/disks/base.2mg.bz2" dest="${build.dir}/${projName}.2mg"/>
|
||||
|
||||
<!-- And stuff the directory into it -->
|
||||
|
@ -34,7 +34,8 @@
|
||||
<mkdir dir="${build.dir}"/>
|
||||
|
||||
<!-- Compile ASM -->
|
||||
<apply executable="${CA65_TOOL}" dir="${src.dir}" relative="true" parallel="false" verbose="true">
|
||||
<apply executable="${CA65_TOOL}" dir="${src.dir}"
|
||||
relative="true" parallel="false" failonerror="true" verbose="true">
|
||||
<fileset dir="${src.dir}" includes="*.s"/>
|
||||
<mapper type="glob" from="*.s" to="${build.dir}/*.o"/>
|
||||
<arg line="${ASM_INCLUDES}"/>
|
||||
@ -45,7 +46,8 @@
|
||||
</apply>
|
||||
|
||||
<!-- Link it -->
|
||||
<apply executable="${LD65_TOOL}" dir="${build.dir}" failonerror="true" verbose="true">
|
||||
<apply executable="${LD65_TOOL}" dir="${build.dir}"
|
||||
failonerror="true" verbose="true">
|
||||
<arg line="-t none --start-addr 0x${ORG_ADDR} -o"/>
|
||||
<arg value="${BIN_FILE}"/>
|
||||
<fileset dir="${build.dir}" includes="*.o"/>
|
||||
|
@ -14,7 +14,7 @@ DBLBUF = 0 ; whether to double-buffer
|
||||
DEBUG = 0 ; turn on verbose logging
|
||||
|
||||
; Constants
|
||||
TOPLINE = $2000
|
||||
TOPLINE = $2180 ; 24 lines down from top
|
||||
NLINES = 126
|
||||
SKYCOL = $11 ; blue
|
||||
GROUNDCOL = $2 ; orange / black
|
||||
@ -39,6 +39,9 @@ STARTADDR = $3C
|
||||
ENDADDR = $3E
|
||||
DESTADDR = $42
|
||||
|
||||
; Other monitor locations
|
||||
RESETVEC = $3F2
|
||||
|
||||
; Place to stick ProDOS names temporarily
|
||||
NAMEBUF = $280
|
||||
|
||||
@ -961,6 +964,13 @@ TEST:
|
||||
LDA #0
|
||||
DEX
|
||||
BNE @MEMLUP
|
||||
; make reset go to monitor
|
||||
LDA #<MONITOR
|
||||
STA RESETVEC
|
||||
LDA #>MONITOR
|
||||
STA RESETVEC+1
|
||||
EOR #$A5
|
||||
STA RESETVEC+2
|
||||
; load the pre-raycast data
|
||||
LDA #$20 ; addr hi
|
||||
PHA
|
||||
@ -1015,6 +1025,16 @@ TEST:
|
||||
LDX #<@TEX3NAME
|
||||
LDA #>@TEX3NAME
|
||||
JSR BLOAD
|
||||
|
||||
; load the fancy frame
|
||||
LDA #>$2000
|
||||
PHA
|
||||
LDA #<$2000
|
||||
PHA
|
||||
LDX #<@FRAMENAME
|
||||
LDA #>@FRAMENAME
|
||||
JSR BLOAD
|
||||
|
||||
; build all the unrolls and tables
|
||||
JSR MAKEBLIT
|
||||
JSR MAKECBLIT
|
||||
@ -1022,7 +1042,6 @@ TEST:
|
||||
JSR MAKEDCM
|
||||
JSR MAKEBUMPS
|
||||
JSR MAKELINES
|
||||
JSR CLRSCR
|
||||
; set up front and back buffers
|
||||
LDA #0
|
||||
STA FRONTBUF
|
||||
@ -1094,6 +1113,8 @@ TEST:
|
||||
BNE @ONECOL
|
||||
@FLUSH:
|
||||
LDY BYTENUM
|
||||
INY
|
||||
INY
|
||||
STA SETAUXZP
|
||||
JSR BLITROLL
|
||||
STA CLRAUXZP
|
||||
@ -1127,12 +1148,29 @@ TEST:
|
||||
LDA KBD ; stop if ESC is pressed
|
||||
CMP #$9B
|
||||
BEQ @DONE
|
||||
CMP #$A0 ; pause if space is pressed
|
||||
BNE @NOTSPC
|
||||
BIT KBDSTRB
|
||||
@PAUSELUP:
|
||||
LDA KBD
|
||||
BPL @PAUSELUP
|
||||
@NOTSPC:
|
||||
JMP @ONELVL
|
||||
@DONE:
|
||||
STA KBDSTRB ; eat the keypress
|
||||
BIT SETTEXT
|
||||
BIT PAGE1
|
||||
RTS
|
||||
; quit the ProDOS way
|
||||
INC RESETVEC+2 ; invalidate reset vector
|
||||
JSR MLI
|
||||
.byte $65
|
||||
.addr @QUITPARMS
|
||||
@QUITPARMS:
|
||||
.byte 4, 0
|
||||
.word 0
|
||||
.byte 0
|
||||
.word 0
|
||||
|
||||
@DIR: .byte 1
|
||||
@TEX0NAME: .byte 21
|
||||
.byte "/LL/ASSETS/BUILDING01"
|
||||
@ -1144,6 +1182,8 @@ TEST:
|
||||
.byte "/LL/ASSETS/BUILDING04"
|
||||
@PRECASTNM: .byte 18
|
||||
.byte "/LL/ASSETS/PRECAST"
|
||||
@FRAMENAME: .byte 16
|
||||
.byte "/LL/ASSETS/FRAME"
|
||||
|
||||
CODEEND = *
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user