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