mirror of
https://github.com/a2-4am/4cade.git
synced 2024-12-21 02:30:27 +00:00
store to $D000
This commit is contained in:
parent
c9a00d6bef
commit
1966d4a893
3
Makefile
3
Makefile
@ -21,7 +21,8 @@ ACME=acme
|
|||||||
CADIUS=cadius
|
CADIUS=cadius
|
||||||
|
|
||||||
asm: md
|
asm: md
|
||||||
$(ACME) -r build/4cade.lst src/4cade.a
|
$(ACME) -r build/4cade.lst src/4cade.a >build/relbase.log
|
||||||
|
$(ACME) -r build/4cade.lst -DRELBASE=`cat build/relbase.log | grep "RELBASE =" | cut -d"=" -f2 | cut -d"(" -f2 | cut -d")" -f1` src/4cade.a
|
||||||
$(ACME) src/fx/fx.dhgr.ripple.a
|
$(ACME) src/fx/fx.dhgr.ripple.a
|
||||||
$(ACME) src/fx/fx.dhgr.iris.a
|
$(ACME) src/fx/fx.dhgr.iris.a
|
||||||
$(ACME) src/fx/fx.dhgr.radial.a
|
$(ACME) src/fx/fx.dhgr.radial.a
|
||||||
|
15
src/4cade.a
15
src/4cade.a
@ -5,6 +5,10 @@
|
|||||||
!to "build/LAUNCHER.SYSTEM",plain
|
!to "build/LAUNCHER.SYSTEM",plain
|
||||||
*=$2000
|
*=$2000
|
||||||
|
|
||||||
|
!ifndef RELBASE {
|
||||||
|
RELBASE=$2000
|
||||||
|
}
|
||||||
|
|
||||||
!source "src/constants.a"
|
!source "src/constants.a"
|
||||||
!source "src/macros.a"
|
!source "src/macros.a"
|
||||||
|
|
||||||
@ -12,7 +16,7 @@
|
|||||||
!source "src/4cade.init.a"
|
!source "src/4cade.init.a"
|
||||||
|
|
||||||
FirstMover
|
FirstMover
|
||||||
!pseudopc $D000 {
|
!pseudopc RELBASE {
|
||||||
Reenter ; self-running demos should call this to exit back to 4cade
|
Reenter ; self-running demos should call this to exit back to 4cade
|
||||||
cld
|
cld
|
||||||
cli
|
cli
|
||||||
@ -68,6 +72,13 @@ Main
|
|||||||
!source "src/ui.font.a"
|
!source "src/ui.font.a"
|
||||||
!source "src/ui.font.data.a"
|
!source "src/ui.font.data.a"
|
||||||
gGlobalPrefsStore
|
gGlobalPrefsStore
|
||||||
!word *+2 ; address of first okvs store
|
!word $D000 ; address of first okvs store
|
||||||
}
|
}
|
||||||
LastMover
|
LastMover
|
||||||
|
!if RELBASE = $2000 {
|
||||||
|
!ifdef PASS2 {
|
||||||
|
} else { ;PASS2
|
||||||
|
!set PASS2=1
|
||||||
|
!warn "RELBASE = ", $FE00 - (LastMover - FirstMover)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -26,11 +26,10 @@
|
|||||||
; bit 6 = 1 if 128K
|
; bit 6 = 1 if 128K
|
||||||
; bit 7 = 1 if joystick
|
; bit 7 = 1 if joystick
|
||||||
|
|
||||||
jsr init ; initialize ProRWTS2 (bye bye ProDOS)
|
+READ_ROM_WRITE_RAM1
|
||||||
+READ_RAM1_WRITE_RAM1
|
|
||||||
ldx #$00 ; relocate rest of program to RAM bank 1 in language card
|
ldx #$00 ; relocate rest of program to RAM bank 1 in language card
|
||||||
@FM lda FirstMover,x
|
@FM lda FirstMover,x
|
||||||
sta $D000,x
|
sta RELBASE,x
|
||||||
inx
|
inx
|
||||||
bne @FM
|
bne @FM
|
||||||
lda @FM+2
|
lda @FM+2
|
||||||
@ -40,6 +39,7 @@
|
|||||||
inc @FM+5
|
inc @FM+5
|
||||||
bne @FM
|
bne @FM
|
||||||
+
|
+
|
||||||
|
jsr init ; initialize ProRWTS2 (bye bye ProDOS)
|
||||||
jmp OneTimeSetup
|
jmp OneTimeSetup
|
||||||
|
|
||||||
@no64K
|
@no64K
|
||||||
|
@ -288,6 +288,7 @@ traverse
|
|||||||
|
|
||||||
pla
|
pla
|
||||||
sta (namlo), y
|
sta (namlo), y
|
||||||
|
lda $c08b
|
||||||
@go
|
@go
|
||||||
rts
|
rts
|
||||||
|
|
||||||
@ -404,7 +405,7 @@ ProDOS_enter
|
|||||||
!ifdef PASS2 {
|
!ifdef PASS2 {
|
||||||
!set CloseHandles = @imp_close
|
!set CloseHandles = @imp_close
|
||||||
} else { ;PASS2
|
} else { ;PASS2
|
||||||
!set PASS2=1
|
!set CloseHandles = *
|
||||||
}
|
}
|
||||||
stx ProDOS_savedX+1
|
stx ProDOS_savedX+1
|
||||||
sty ProDOS_savedY+1
|
sty ProDOS_savedY+1
|
||||||
|
@ -463,8 +463,8 @@ unrentry1 jsr $d1d1
|
|||||||
|
|
||||||
bankram
|
bankram
|
||||||
!if load_banked = 1 {
|
!if load_banked = 1 {
|
||||||
lda LCBANK2 - ((lc_bank - 1) * 8)
|
lda LCBANK2 + 2 - ((lc_bank - 1) * 8)
|
||||||
lda LCBANK2 - ((lc_bank - 1) * 8)
|
lda LCBANK2 + 2 - ((lc_bank - 1) * 8)
|
||||||
} ;load_banked
|
} ;load_banked
|
||||||
!if load_aux = 1 {
|
!if load_aux = 1 {
|
||||||
sta SETAUXWR + (load_banked * 4) ;SETAUXWR or SETAUXZP
|
sta SETAUXWR + (load_banked * 4) ;SETAUXWR or SETAUXZP
|
||||||
@ -550,15 +550,8 @@ unrdrvoff1 lda MOTOROFF
|
|||||||
;and code is less than two pages long (e.g. aligned_read, no write)
|
;and code is less than two pages long (e.g. aligned_read, no write)
|
||||||
;can't insert code during pass two because it breaks existing offsets
|
;can't insert code during pass two because it breaks existing offsets
|
||||||
|
|
||||||
!ifdef PASS2 {
|
lda unrelochdd + $100, y
|
||||||
!if >(hddcodeend - reloc) > 0 {
|
sta reloc + $100, y
|
||||||
!set hack=$100
|
|
||||||
} ;hddcodeend
|
|
||||||
} else { ;PASS2 not defined
|
|
||||||
!set hack=0
|
|
||||||
} ;PASS2
|
|
||||||
lda unrelochdd + hack, y
|
|
||||||
sta reloc + hack, y
|
|
||||||
} ;one_page
|
} ;one_page
|
||||||
iny
|
iny
|
||||||
bne -
|
bne -
|
||||||
@ -2877,7 +2870,6 @@ hdddataend
|
|||||||
;math magic to determine ideal loading address, and information dump
|
;math magic to determine ideal loading address, and information dump
|
||||||
!ifdef PASS2 {
|
!ifdef PASS2 {
|
||||||
} else { ;PASS2 not defined
|
} else { ;PASS2 not defined
|
||||||
!set PASS2=1
|
|
||||||
!if enable_floppy = 1 {
|
!if enable_floppy = 1 {
|
||||||
!if reloc < $c000 {
|
!if reloc < $c000 {
|
||||||
!if ((dataend + $ff) & -256) > $c000 {
|
!if ((dataend + $ff) & -256) > $c000 {
|
||||||
|
@ -6,6 +6,7 @@ rem
|
|||||||
rem a qkumba monstrosity from 2018-10-29
|
rem a qkumba monstrosity from 2018-10-29
|
||||||
rem
|
rem
|
||||||
|
|
||||||
|
setlocal enabledelayedexpansion
|
||||||
set DISK=4cade.2mg
|
set DISK=4cade.2mg
|
||||||
set VOLUME=A.4AM.PACK
|
set VOLUME=A.4AM.PACK
|
||||||
|
|
||||||
@ -30,7 +31,9 @@ if "%1" equ "asm" (
|
|||||||
2>nul md build\DEMO
|
2>nul md build\DEMO
|
||||||
2>nul md build\FX
|
2>nul md build\FX
|
||||||
|
|
||||||
%ACME% -r build\4cade.lst src\4cade.a
|
2>build\out.txt %ACME% -r build\4cade.lst src\4cade.a
|
||||||
|
for /f "tokens=2,3 delims=)" %%q in ('find "RELBASE =" build\out.txt') do set _make=%%q
|
||||||
|
%ACME% -DRELBASE=$%_make:~-4% -r build\4cade.lst src\4cade.a
|
||||||
%ACME% src\fx\fx.dhgr.ripple.a
|
%ACME% src\fx\fx.dhgr.ripple.a
|
||||||
%ACME% src\fx\fx.dhgr.iris.a
|
%ACME% src\fx\fx.dhgr.iris.a
|
||||||
%ACME% src\fx\fx.dhgr.radial.a
|
%ACME% src\fx\fx.dhgr.radial.a
|
||||||
|
Loading…
Reference in New Issue
Block a user