mirror of
https://github.com/a2-4am/4cade.git
synced 2024-09-27 12:57:21 +00:00
Merge branch 'master' of https://github.com/a2-4am/4cade
This commit is contained in:
commit
db5961b606
@ -1,8 +0,0 @@
|
|||||||
a = new ActiveXObject("scripting.filesystemobject")
|
|
||||||
for (b = new Enumerator(a.GetFolder(WScript.Arguments(0)).files); !b.atEnd(); b.moveNext())
|
|
||||||
{
|
|
||||||
if (a.GetExtensionName(b.item()).toLowerCase() == "po")
|
|
||||||
{
|
|
||||||
new ActiveXObject("WScript.Shell").run("cadius.exe EXTRACTVOLUME " + '"' + b.item() + '"' + " build/X/", 0)
|
|
||||||
}
|
|
||||||
}
|
|
@ -9,14 +9,14 @@
|
|||||||
; D000..E5F4 - persistent data structures (per-game cheat categories,
|
; D000..E5F4 - persistent data structures (per-game cheat categories,
|
||||||
; gGlobalPrefsStore, gGamesListStore)
|
; gGlobalPrefsStore, gGamesListStore)
|
||||||
; ...unused...
|
; ...unused...
|
||||||
; EAAE..FFF9 - main program code
|
; EA5C..FFF9 - main program code
|
||||||
; FFFA..FFFF - NMI, reset, IRQ vectors
|
; FFFA..FFFF - NMI, reset, IRQ vectors
|
||||||
;
|
;
|
||||||
; LC RAM BANK 2
|
; LC RAM BANK 2
|
||||||
; D000..D3FF - ProRWTS data
|
; D000..D3FF - ProRWTS data
|
||||||
; D400..D5FF - ProRWTS code
|
; D400..D5FF - ProRWTS code
|
||||||
; D600..D9FF - HGR font data
|
; D600..D9FF - HGR font data
|
||||||
; DA00..DF83 - HGR font code & ProRWTS glue code
|
; DA00..DF2F - HGR font code & ProRWTS glue code
|
||||||
; ...unused...
|
; ...unused...
|
||||||
; DFF0..DFFF - backup of stack (during gameplay and self-running demos)
|
; DFF0..DFFF - backup of stack (during gameplay and self-running demos)
|
||||||
;------------------------------------------------------------------------------
|
;------------------------------------------------------------------------------
|
||||||
|
@ -215,10 +215,10 @@ gCurrentlyVisibleSlideshowIndex=*+1
|
|||||||
Launch
|
Launch
|
||||||
jsr SwitchToBank2
|
jsr SwitchToBank2
|
||||||
jsr SaveOrRestoreScreenHoles ; save screen hole contents
|
jsr SaveOrRestoreScreenHoles ; save screen hole contents
|
||||||
ldx #$F1
|
ldy #$F1
|
||||||
- lda $100,x
|
- lda $100,y
|
||||||
sta $DF00,x ; back up stack
|
sta $DF00,y ; back up stack
|
||||||
inx
|
iny
|
||||||
bne -
|
bne -
|
||||||
tsx ; back up stack pointer
|
tsx ; back up stack pointer
|
||||||
stx $DFF0
|
stx $DFF0
|
||||||
@ -230,5 +230,10 @@ Launch
|
|||||||
sta $bf00,x
|
sta $bf00,x
|
||||||
dex
|
dex
|
||||||
bpl -
|
bpl -
|
||||||
|
tya
|
||||||
|
ldy #$18
|
||||||
|
- sta $bf57,y
|
||||||
|
dey
|
||||||
|
bne -
|
||||||
jmp $106 ; jump to pre-launch code
|
jmp $106 ; jump to pre-launch code
|
||||||
}
|
}
|
||||||
|
@ -21,11 +21,8 @@ ProDOS_enter
|
|||||||
!set CloseHandles = @imp_close
|
!set CloseHandles = @imp_close
|
||||||
stx ProDOS_savedX+1
|
stx ProDOS_savedX+1
|
||||||
sty ProDOS_savedY+1
|
sty ProDOS_savedY+1
|
||||||
pha
|
|
||||||
jsr @swap_zp
|
jsr @swap_zp
|
||||||
pla
|
pla
|
||||||
tax
|
|
||||||
pla
|
|
||||||
tay
|
tay
|
||||||
pla
|
pla
|
||||||
sta @fetchaddr+1
|
sta @fetchaddr+1
|
||||||
@ -43,14 +40,11 @@ ProDOS_enter
|
|||||||
pha
|
pha
|
||||||
tya
|
tya
|
||||||
pha
|
pha
|
||||||
php
|
|
||||||
txa
|
|
||||||
pha
|
|
||||||
@request
|
@request
|
||||||
lda #$d1
|
lda #$d1
|
||||||
cmp #$80
|
cmp #$80
|
||||||
beq @do_readblock
|
beq @do_readblock
|
||||||
cmp #$81 ;I don't remember if I used this, but it's cheap to add
|
cmp #$81
|
||||||
beq @do_writeblock
|
beq @do_writeblock
|
||||||
cmp #$c4
|
cmp #$c4
|
||||||
beq @do_getattrib
|
beq @do_getattrib
|
||||||
@ -69,9 +63,9 @@ ProDOS_enter
|
|||||||
cmp #$ce
|
cmp #$ce
|
||||||
beq @do_seek
|
beq @do_seek
|
||||||
cmp #$d1
|
cmp #$d1
|
||||||
beq @do_eof
|
;;bne @do_fatal
|
||||||
;;any others??
|
@do_eof
|
||||||
jmp ProDOS_fatal
|
jmp @imp_eof
|
||||||
@do_readblock
|
@do_readblock
|
||||||
@do_writeblock
|
@do_writeblock
|
||||||
jmp @imp_rdwrblock
|
jmp @imp_rdwrblock
|
||||||
@ -92,8 +86,8 @@ ProDOS_enter
|
|||||||
jmp @restore_zp
|
jmp @restore_zp
|
||||||
@do_seek
|
@do_seek
|
||||||
jmp @imp_seek
|
jmp @imp_seek
|
||||||
@do_eof
|
@do_fatal
|
||||||
jmp @imp_eof
|
;;jmp ProDOS_fatal
|
||||||
|
|
||||||
@imp_rdwrblock
|
@imp_rdwrblock
|
||||||
and #$7f
|
and #$7f
|
||||||
@ -345,15 +339,6 @@ ProDOS_enter
|
|||||||
|
|
||||||
@restore_zp
|
@restore_zp
|
||||||
jsr @swap_zp
|
jsr @swap_zp
|
||||||
pla
|
|
||||||
lsr
|
|
||||||
lsr
|
|
||||||
lsr
|
|
||||||
lsr
|
|
||||||
and #8
|
|
||||||
plp
|
|
||||||
adc #0
|
|
||||||
tax
|
|
||||||
jmp ProDOS_exit
|
jmp ProDOS_exit
|
||||||
|
|
||||||
@handle
|
@handle
|
||||||
@ -492,54 +477,52 @@ promote
|
|||||||
!pseudopc $bf00 {
|
!pseudopc $bf00 {
|
||||||
php
|
php
|
||||||
sei
|
sei
|
||||||
lda $c012
|
bit $c083
|
||||||
!byte $24
|
!byte $24
|
||||||
!if * != $bf06 {
|
!if * != $bf06 {
|
||||||
!error "$BF06 misplaced (",*,")"
|
!error "$BF06 misplaced (",*,")"
|
||||||
}
|
}
|
||||||
rts ;clock interface, must be RTS on real ProDOS if program uses $20x
|
rts ;clock interface, must be RTS on real ProDOS if program uses $20x
|
||||||
|
|
||||||
asl
|
|
||||||
lda $c011
|
|
||||||
bit $c083
|
bit $c083
|
||||||
jmp ProDOS_LC
|
jmp ProDOS_enter
|
||||||
!text "4Q"
|
ProDOS_exit
|
||||||
|
ProDOS_savedX
|
||||||
|
ldx #$d1
|
||||||
|
plp
|
||||||
|
clc
|
||||||
|
bcc ProDOS_savedY
|
||||||
!if * != $bf13 {
|
!if * != $bf13 {
|
||||||
!error "$BF13 misplaced (",*,")"
|
!error "$BF13 misplaced (",*,")"
|
||||||
}
|
}
|
||||||
!byte $c1
|
!byte $c1
|
||||||
!word $c2d1, $c3d1, $c4d1, $c5d1, $c6d1, $c7d1
|
!word $c2d1, $c3d1, $c4d1, $c5d1, $c6d1, $c7d1
|
||||||
ProDOS_LC
|
|
||||||
bit $c083
|
|
||||||
jmp ProDOS_enter
|
|
||||||
ProDOS_exit
|
|
||||||
sta $c082, x
|
|
||||||
ProDOS_savedX
|
|
||||||
ldx #$d1
|
|
||||||
ProDOS_savedY
|
ProDOS_savedY
|
||||||
ldy #$d1
|
ldy #$d1
|
||||||
plp
|
sta $c081
|
||||||
clc
|
|
||||||
!byte $24
|
|
||||||
ProDOS_unit
|
|
||||||
!if * != $bf30 {
|
|
||||||
!error "$BF30 misplaced (",*,")"
|
|
||||||
}
|
|
||||||
!byte $d1
|
|
||||||
|
|
||||||
lda #0
|
lda #0
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
ProDOS_unit
|
||||||
|
!if * > $bf30 {
|
||||||
|
!error "$BF30 misplaced (",*,")"
|
||||||
|
} else {
|
||||||
|
!if * != $bf30 {
|
||||||
|
!fill $bf30-*
|
||||||
|
}
|
||||||
|
}
|
||||||
|
!byte $d1
|
||||||
|
|
||||||
ProDOS_fatal ;only for debugging, will be removed
|
ProDOS_fatal ;only for debugging, will be removed
|
||||||
bit $c081
|
;; bit $c081
|
||||||
pha
|
;; pha
|
||||||
jsr $fe89
|
;; jsr $fe89
|
||||||
jsr $fe93
|
;; jsr $fe93
|
||||||
pla
|
;; pla
|
||||||
jsr $fdda
|
;; jsr $fdda
|
||||||
jmp $ff65
|
;; jmp $ff65
|
||||||
*=$bf58
|
;;*=$bf58
|
||||||
!fill $18
|
;; !fill $18 ;filled by init instead
|
||||||
|
|
||||||
ProDOS_prefix=$bfd0
|
ProDOS_prefix=$bfd0
|
||||||
; !fill $2e
|
; !fill $2e
|
||||||
|
12
winmake.bat
12
winmake.bat
@ -20,11 +20,9 @@ set CADIUS=cadius
|
|||||||
if "%1" equ "asm" (
|
if "%1" equ "asm" (
|
||||||
:asm
|
:asm
|
||||||
call :md
|
call :md
|
||||||
|
call :asmlauncher
|
||||||
call :asmfx
|
call :asmfx
|
||||||
call :asmprelaunch
|
call :asmprelaunch
|
||||||
2>build\relbase.log %ACME% src\4cade.a
|
|
||||||
for /f "tokens=*" %%q in (build\relbase.log) do set _make=%%q
|
|
||||||
%ACME% -DRELBASE=$!_make:~-5,4! -r build\4cade.lst src\4cade.a
|
|
||||||
goto :EOF
|
goto :EOF
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -93,7 +91,7 @@ cscript /nologo bin\rsync.js res\fx\* build\FX >>build\log
|
|||||||
%CADIUS% CREATEFOLDER "build\%DISK%" "/%VOLUME%/X/" >>build\log
|
%CADIUS% CREATEFOLDER "build\%DISK%" "/%VOLUME%/X/" >>build\log
|
||||||
cscript /nologo bin\do2po.js res\dsk build\po
|
cscript /nologo bin\do2po.js res\dsk build\po
|
||||||
cscript /nologo bin\rsync.js res\dsk\*.po build\po
|
cscript /nologo bin\rsync.js res\dsk\*.po build\po
|
||||||
cscript /nologo bin\extract.js build\po >>build\log
|
for %%q in (build\po\*.po) do %CADIUS% EXTRACTVOLUME "%%q" build\X\ >>build\log
|
||||||
echo y|1>nul 2>nul del /s build\X\.DS_Store
|
echo y|1>nul 2>nul del /s build\X\.DS_Store
|
||||||
echo y|1>nul 2>nul del /s build\X\PRODOS
|
echo y|1>nul 2>nul del /s build\X\PRODOS
|
||||||
echo y|1>nul 2>nul del /s build\X\LOADER.SYSTEM
|
echo y|1>nul 2>nul del /s build\X\LOADER.SYSTEM
|
||||||
@ -130,6 +128,12 @@ goto :EOF
|
|||||||
2>nul md build\PRELAUNCH
|
2>nul md build\PRELAUNCH
|
||||||
goto :EOF
|
goto :EOF
|
||||||
|
|
||||||
|
:asmlauncher
|
||||||
|
2>build\relbase.log %ACME% src\4cade.a
|
||||||
|
for /f "tokens=*" %%q in (build\relbase.log) do set _make=%%q
|
||||||
|
%ACME% -DRELBASE=$!_make:~-5,4! -r build\4cade.lst src\4cade.a
|
||||||
|
goto :EOF
|
||||||
|
|
||||||
:asmfx
|
:asmfx
|
||||||
for %%q in (src\fx\*.a) do (
|
for %%q in (src\fx\*.a) do (
|
||||||
for /f "tokens=* usebackq" %%k in (`find "^!to" %%q`) do set _to=%%k
|
for /f "tokens=* usebackq" %%k in (`find "^!to" %%q`) do set _to=%%k
|
||||||
|
Loading…
Reference in New Issue
Block a user