Compare commits

...

6 Commits

Author SHA1 Message Date
4am 9e19e4e4b1 add Go Four It 2024-04-21 22:07:31 -04:00
4am 6fb946b086 some notes 2024-04-21 21:40:00 -04:00
4am 71f2ca9006 fix some more prelaunchers 2024-04-21 15:52:49 -04:00
4am bcb24ae38d fix some more prelaunchers 2024-04-21 15:49:48 -04:00
4am 2da68a8cd7 fix some prelaunchers 2024-04-21 15:43:11 -04:00
4am adbb1d8dbe add Odin 2024-04-21 15:14:08 -04:00
126 changed files with 543 additions and 161 deletions

View File

@ -50,13 +50,13 @@ cat res/GAMES.CONF |
grep '^\!to' src/demo/*.a | cut -d'/' -f5-|cut -d'#' -f1 |
grep -v "SPCARTOON" |
while read f; do
grep "$f=0" res/ATTRACT.CONF >/dev/null || echo "unused demo: $f";
grep "^$f=0" res/ATTRACT.CONF >/dev/null || echo "unused demo: $f";
done
# warn about unused slideshows
cd res/SS
for f in *.CONF; do
grep "$f" ../ATTRACT.CONF >/dev/null || echo "unused slideshow: $f";
grep "^$f=" ../ATTRACT.CONF >/dev/null || echo "unused slideshow: $f";
done
cd ../..

Binary file not shown.

Binary file not shown.

BIN
res/ACTION.HGR/GO.FOUR.IT Normal file

Binary file not shown.

BIN
res/ACTION.HGR/ODIN Normal file

Binary file not shown.

View File

@ -66,6 +66,7 @@ ACTBOXING.CONF=2
CATBOARD.CONF=1
ACTDIVEBMB.CONF=2
ACTDHGRWD.CONF=4
TITLENR2.CONF=1
SHR3.CONF=5
#set 4

8
res/ATTRACT/GO.FOUR.IT Normal file
View File

@ -0,0 +1,8 @@
#
# Attract mode for GO.FOUR.IT
# This file is automatically generated
#
GO.FOUR.IT=A
[eof]

8
res/ATTRACT/ODIN Normal file
View File

@ -0,0 +1,8 @@
#
# Attract mode for ODIN
# This file is automatically generated
#
ODIN=A
[eof]

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

22
res/GAMEHELP/GO.FOUR.IT Normal file
View File

@ -0,0 +1,22 @@
Get four in a row horizontally,
vertically, or diagonally
< select >
press Return to place
S* * * * * * * * * * * * * *toggle sound
T* * * * * * * * * * * * *take back move
A* * * * * * * * * * * * * * * * *advice
Esc* * * * * * * * * * * * * * * * *quit
[eof]

18
res/GAMEHELP/ODIN Normal file
View File

@ -0,0 +1,18 @@
Place your pieces
Flip your opponent's pieces
joystick or keyboard
< select >
press Return to place
[eof]

View File

@ -48,6 +48,7 @@
10001,FUJI.SPEED.WAY=Fuji Crowded Speedway/1983
10000,GFL.FOOTBALL=GFL Championship Football/1987
00001,GO=Go/1982
00001,GO.FOUR.IT=Go Four It/1988
10001,HARDBALL=Hardball/1985
10001,HIRES.FOOTBALL=Hi-Res Football/1980
10001,HIRES.SOCCER=Hi-Res Soccer/1980
@ -65,6 +66,7 @@
00001,MU.TORERE=Mu Torere/1988
00001,NIMWIT=Nimwit/1988
00001,NINE.MENS=Nine Men's Morris/1988
00001,ODIN=Odin/1982
10001,ONE.ON.ONE=One on One/1983
01100,PAY.DAY=Pay Day/1990
00001,PENSATE=Pensate/1983

View File

@ -5,6 +5,8 @@
REVERSI
CHECKERS
MICROCHESS
GO.FOUR.IT
ODIN
PENSATE
GO

View File

@ -6,6 +6,7 @@ INTL.HOCKEY
GO
HIRES.FOOTBALL
GFL.FOOTBALL
GO.FOUR.IT
INTL.GRAN.PRIX
[eof]

View File

@ -6,5 +6,6 @@ ONE.ON.ONE2=ONE.ON.ONE
ROCK.N.SCROLL
POOL
NIMWIT
ODIN
[eof]

View File

@ -3,6 +3,8 @@
#
PENSATE
ODIN
GO.FOUR.IT
REVERSI
GO
CHECKERS

View File

@ -5,6 +5,7 @@
GFL.FOOTBALL
JUMP.PIT
HARDBALL
GO.FOUR.IT
HIRES.SOCCER
GO
INTL.GRAN.PRIX

View File

@ -7,9 +7,5 @@ POOL
NINE.MENS
NIMWIT
ONE.ON.ONE
REVERSI
PLACE.BALL
PENSATE
PITSTOP.II
[eof]

11
res/SS/TITLENR2.CONF Normal file
View File

@ -0,0 +1,11 @@
#
# HGR title slideshow of games that begin with "N"-"R"
#
REVERSI
PLACE.BALL
ODIN
PENSATE
PITSTOP.II
[eof]

Binary file not shown.

BIN
res/TITLE.HGR.UNPACKED/ODIN Normal file

Binary file not shown.

BIN
res/TITLE.HGR/GO.FOUR.IT Normal file

Binary file not shown.

BIN
res/TITLE.HGR/ODIN Normal file

Binary file not shown.

Binary file not shown.

BIN
res/dsk/odin (4am pack).po Normal file

Binary file not shown.

View File

@ -13,6 +13,7 @@
- F-15 Strike Eagle
- Fox & Geese
- Go
- Go Four It
- GFL Championship Football
- Hi-Res Football
- Hi-Res Soccer
@ -27,6 +28,7 @@
- Mu Torere
- Nimwit
- Nine Men's Morris
- Odin
- Pay Day
- Place Ball
- Press Your Luck

View File

@ -31,43 +31,38 @@ Dave Winfield's Batter Up [4am crack][64K]
Earl Weaver Baseball [4am crack][HGR-but-128K][priority]
Fathom's 40 [4am crack][48K]
Fore! [4am crack][48K]
Golf Course (Main Street Publishing)
Golf's Best
Hi-Res Computer Golf [4am crack]
Hi-Res Computer Golf 2
Hi-Res Computer Golf 2 [needs-crack][48K][supports-data-disk]
Jet [priority][64K][supports-data-disk]
Joe Thiesmann's Pro Football [4am crack]
John Elway's Quarterback
John Madden Football
Ken Uston's Professional Blackjack (latest version is 1.23?) [4am crack]
Maxi Golf
Micro League Baseball (1984 version, not 1980)
Odin (Odesta) [needs-crack][48K]
Olympic Decathlon [priority]
Joe Thiesmann's Pro Football [4am crack][64K]
John Elway's Quarterback [HGR-but-128K]
John Madden Football [needs-crack][offdisk][64K]
Ken Uston's Professional Blackjack v1.23 [4am crack][48K]
Maxi Golf [needs-crack]
Micro League Baseball (1984 version, not 1980) [needs-crack][64K][supports-data-disk]
Olympic Decathlon [priority][needs-crack][48K]
Pro Football (Systems Design Lab)
Pro Golf (Home-Computer Software)
Professional Tour Golf [4am crack]
Pure Stat Baseball
Pure Stat Baseball [needs-crack][64K]
Pure Stat College Basketball
Ringside Seat (SSI)
Sargon III (Spinnaker) [supports-data-disk]
Ringside Seat (SSI) [4am/san inc crack][48K]
Sargon III (Hayden) [4am crack][supports-data-disk]
Spinout (Chris Oberth) [48K][unreleased, see <https://www.gamingalexandria.com/wp/2021/08/oberth-archives-one/>]
Sports Spectacular (Keypunch) [unprotected]
Star League Baseball
Star League Baseball [needs-crack][64K]
Star Rank Boxing II [4am crack][priority]
Sub Battle Simulator [4am crack]
Super Sunday [4am crack]
Sub Battle Simulator [4am crack][64K]
Super Sunday [4am crack][64K]
Superstar Indoor Sports [priority]
Techo-Sport Racing (K-Tek) [Tom Greene]
Tennis (Softdisk) [unprotected]
Tuesday Morning Quarterback [4am crack]
Tuesday Morning Quarterback [4am crack][48K]
The Fidelity Chessmaster 2100 (Software Toolworks) [priority]
The World's Greatest Baseball Game (Enhanced Version) [4am crack]
The World's Greatest Football Game [4am crack]
Top Fuel Eliminator (Activision)
Trick Shot (IDSI) [needs-crack][supports-data-disk]
Ultracheckers (Malibu Microcomputing) [needs-crack]
World Class Leader Board (Access Software)
The World's Greatest Baseball Game (Enhanced Version) [4am crack][64K][supports-data-disk]
The World's Greatest Football Game [4am crack][64K]
Top Fuel Eliminator (Activision) [4am crack][HGR-but-128K]
Trick Shot (IDSI) [needs-crack][48K][supports-data-disk]
Ultracheckers (Malibu Microcomputing) [needs-crack][48K]
World Class Leader Board (Access Software) [64K]
World Series Baseball
//idea:game shows
@ -98,7 +93,7 @@ Clue
Risk v1.4
Monty Plays Scrabble v4
Shanghai
Sorry
Sorry [DHGR][128K]
//idea:quiz games
Tic Tac Show

View File

@ -6,11 +6,10 @@
!src "../common/src/macros.a"
+INIT_MACHINE
jsr decrunch
!if * != $211F {
!serious "Adjust prelaunch to patch JSR at ", *
!if * != $211C {
!serious "Adjust prelaunch to patch JSR at ", *, " to JMP"
}
jsr decrunch
jmp $4000
get_crunched_byte

View File

@ -18,11 +18,10 @@
dec ExoProgressPtr+1
dec ExoProgressPtr+1
dec ExoProgressPtr+1
jsr decrunch_no_reset_progress ; decompress more data into $6000/main
!if * != $485C {
!serious "Adjust prelaunch to patch JSR at ", *
!if * != $4859 {
!serious "Adjust prelaunch to patch JSR at ", *, " to JMP"
}
jsr decrunch_no_reset_progress ; decompress more data into $6000/main
jmp $AEE0
get_crunched_byte

View File

@ -16,7 +16,7 @@ SHOW_PROGRESS_DURING_DECRUNCH = 0
start
+INIT_MACHINE
!if * != $B8B4 {
!serious "Adjust prelaunch to patch JSR at ", *
!serious "Adjust prelaunch to change JSR at ", *, " to JMP"
}
jsr decrunch ; compressed data contains target address
bit GFXMODE

View File

@ -17,7 +17,7 @@ kExoProgressWidth = 18 ; depends on total size, max 38
start
+INIT_MACHINE
!if * != $B9ED {
!serious "Adjust prelaunch to patch JSR at ", *
!serious "Adjust prelaunch to patch JSR at ", *, " to JMP"
}
jsr decrunch ; compressed data contains target address
bit GFXMODE

View File

@ -0,0 +1,51 @@
# https://sourceforge.net/projects/acme-crossass/
ACME=acme
# https://github.com/mach-kernel/cadius
CADIUS=cadius
EXOMIZER=exomizer mem -lnone -P23 -f -q
BUILDDIR=build
DISKVOLUME=GO.FOUR.IT
LOADER=$(BUILDDIR)/LOADER.SYSTEM\#FF2000
EXE=$(BUILDDIR)/GO.FOUR.IT\#068000
COMPRESSED=src/OBJ.X
SOURCES=$(wildcard src/*.a) $(COMPRESSED)
RES=$(wildcard res/*) $(wildcard ../common/res/*)
BUILDDISK=$(BUILDDIR)/$(DISKVOLUME).po
.PHONY: clean mount all
$(BUILDDISK): $(EXE) $(LOADER) $(RES)
$(LOADER): $(SOURCES) | $(BUILDDIR)
$(ACME) src/loader.a
$(CADIUS) REPLACEFILE "$(BUILDDISK)" "/$(DISKVOLUME)/" "$(LOADER)" -C
@touch "$@"
$(EXE): $(SOURCES) $(COMPRESSED) | $(BUILDDIR)
$(ACME) src/go.four.it.a
$(CADIUS) REPLACEFILE "$(BUILDDISK)" "/$(DISKVOLUME)/" "$(EXE)" -C
@touch "$@"
$(RES): $(BUILDDIR)
$(CADIUS) REPLACEFILE "$(BUILDDISK)" "/$(DISKVOLUME)/" "$@" -C
@touch "$@"
$(COMPRESSED):
$(EXOMIZER) src/OBJ@0x4000 -o "$@"
mount: $(BUILDDISK)
@open "$(BUILDDISK)"
clean:
rm -rf "$(BUILDDIR)"
$(BUILDDIR):
mkdir -p "$@"
$(CADIUS) CREATEVOLUME "$(BUILDDISK)" "$(DISKVOLUME)" 140KB -C
all: clean mount
.NOTPARALLEL:

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,29 @@
!cpu 6502
*=$8000
!to "build/GO.FOUR.IT#068000",plain
!src "../common/src/constants.a"
!src "../common/src/macros.a"
jmp start
compressed_data
!bin "src/OBJ.X"
FORWARD_DECRUNCHING = 1
SHOW_PROGRESS_DURING_DECRUNCH = 0
!src "../common/src/exodecrunch.a"
start
+INIT_MACHINE
!if * != $9001 {
!serious "Adjust prelaunch to patch JSR at ", *, " to JMP"
}
jsr decrunch ; compressed data contains target address
jmp $6000
get_crunched_byte
lda compressed_data
inc get_crunched_byte+1
bne +
inc get_crunched_byte+2
+ rts

View File

@ -0,0 +1,25 @@
!cpu 6502
*=$2000
!to "build/LOADER.SYSTEM#FF2000",plain
!src "../common/src/constants.a"
!src "../common/src/macros.a"
+READ_ENTIRE_FILE parm_boot_open, parm_boot_read
jmp (entry)
parm_boot_open
!byte 3
!word filename
!word $2100
!byte 0
parm_boot_read
!byte 4
!byte 1
entry !word $8000
!word $FFFF
!word 0
filename
!text 10,"GO.FOUR.IT"

View File

@ -16,7 +16,7 @@ SHOW_PROGRESS_DURING_DECRUNCH = 0
start
+INIT_MACHINE
!if * != $9C5F {
!serious "Adjust prelaunch to patch JSR at ", *
!serious "Adjust prelaunch to patch JSR at ", *, " to JMP"
}
jsr decrunch ; compressed data contains target address
jmp $800

View File

@ -17,7 +17,7 @@ kExoProgressWidth = 14 ; depends on total size, max 38
start
+INIT_MACHINE
!if * != $AD5C {
!serious "Adjust prelaunch to patch JSR at ", *
!serious "Adjust prelaunch to patch JSR at ", *, " to JMP"
}
jsr decrunch ; compressed data contains target address
jsr ROM_TEXT ; game expects current VTAB to be at bottom

View File

@ -23,7 +23,7 @@ start
bit HIRES
bit FULLGFX
!if * != $BC4D {
!serious "Adjust prelaunch to patch JSR at ", *
!serious "Adjust prelaunch to patch JSR at ", *, " to JMP"
}
jsr decrunch ; decompress game code at $4000
jmp $4000

View File

@ -22,10 +22,10 @@ start
bit PAGE1
bit HIRES
bit FULLGFX
jsr decrunch_no_reset_progress
!if * != $B8A9 {
!serious "Adjust prelaunch to patch JSR at ", *
!if * != $B8A6 {
!serious "Adjust prelaunch to patch JSR at ", *, " to JMP"
}
jsr decrunch_no_reset_progress
jsr $900
bit CLEARKBD
jsr PRODOS_MLI

View File

@ -17,7 +17,7 @@ kExoProgressWidth = 19 ; depends on total size, max 38
start
+INIT_MACHINE
!if * != $B9AD {
!serious "Adjust prelaunch to patch JSR at ", *
!serious "Adjust prelaunch to patch JSR at ", *, " to JMP"
}
jsr decrunch ; compressed data contains target address
bit GFXMODE

View File

@ -22,10 +22,10 @@ start
bit PAGE1
bit HIRES
bit FULLGFX
jsr decrunch_no_reset_progress
!if * != $B057 {
!serious "Adjust prelaunch to patch JSR at ", *
!if * != $B054 {
!serious "Adjust prelaunch to patch JSR at ", *, " to JMP"
}
jsr decrunch_no_reset_progress
jsr $900
bit CLEARKBD
jsr PRODOS_MLI

View File

@ -28,7 +28,7 @@ start
@next iny
bne @loop
!if * != $9667 {
!serious "Adjust prelaunch to patch JSR at ", *
!serious "Adjust prelaunch to patch JSR at ", *, " to JMP"
}
jsr decrunch ; compressed data contains target address
bit GFXMODE

View File

@ -16,7 +16,7 @@ SHOW_PROGRESS_DURING_DECRUNCH = 0
start
+INIT_MACHINE
!if * != $18B6 {
!serious "Adjust prelaunch to patch JSR at ", *
!serious "Adjust prelaunch to patch JSR at ", *, " to JMP"
}
jsr decrunch ; compressed data contains target address
jmp $5000

View File

@ -16,7 +16,7 @@ SHOW_PROGRESS_DURING_DECRUNCH = 0
start
+INIT_MACHINE
!if * != $9E01 {
!serious "Adjust prelaunch to patch JSR at ", *
!serious "Adjust prelaunch to patch JSR at ", *, " to JMP"
}
jsr decrunch ; compressed data contains target address
jmp $2000

View File

@ -16,7 +16,7 @@ SHOW_PROGRESS_DURING_DECRUNCH = 0
start
+INIT_MACHINE
!if * != $A6A5 {
!serious "Adjust prelaunch to patch JSR at ", *
!serious "Adjust prelaunch to patch JSR at ", *, " to JMP"
}
jsr decrunch ; compressed data contains target address
jmp $2000

View File

@ -22,10 +22,10 @@ start
bit PAGE1
bit HIRES
bit FULLGFX
jsr decrunch_no_reset_progress
!if * != $B1A0 {
!serious "Adjust prelaunch to patch JSR at ", *
!if * != $B19D {
!serious "Adjust prelaunch to patch JSR at ", *, " to JMP"
}
jsr decrunch_no_reset_progress
jsr $900
bit CLEARKBD
jsr PRODOS_MLI

View File

@ -17,7 +17,7 @@ kExoProgressWidth = 18 ; depends on total size, max 38
start
+INIT_MACHINE
!if * != $B75E {
!serious "Adjust prelaunch to patch JSR at ", *
!serious "Adjust prelaunch to patch JSR at ", *, " to JMP"
}
jsr decrunch ; compressed data contains target address
bit GFXMODE

View File

@ -22,6 +22,9 @@ start
bit PAGE1
bit HIRES
bit FULLGFX
!if * != $B915 {
!serious "Adjust prelaunch to patch JSR at ", *, " to JMP"
}
jsr decrunch_no_reset_progress
jsr $900
ldx #$20
@ -34,9 +37,6 @@ start
inc @b+2
dex
bne @a
!if * != $B931 {
!serious "Adjust prelaunch to patch JSR at ", *
}
jsr $906
bit CLEARKBD
jsr PRODOS_MLI

View File

@ -17,7 +17,7 @@ kExoProgressWidth = 18 ; depends on total size, max 38
start
+INIT_MACHINE
!if * != $BC5B {
!serious "Adjust prelaunch to patch JSR at ", *
!serious "Adjust prelaunch to patch JSR at ", *, " to JMP"
}
jsr decrunch ; compressed data contains target address
bit GFXMODE

55
res/ports/odin/Makefile Normal file
View File

@ -0,0 +1,55 @@
# https://sourceforge.net/projects/acme-crossass/
ACME=acme
# https://github.com/mach-kernel/cadius
CADIUS=cadius
EXOMIZER=exomizer mem -lnone -P23 -f -q
BUILDDIR=build
DISKVOLUME=ODIN
LOADER=$(BUILDDIR)/LOADER.SYSTEM\#FF2000
EXE=$(BUILDDIR)/ODIN\#068000
COMPRESSED1=src/OBJ1.X
COMPRESSED2=src/OBJ2.X
SOURCES=$(wildcard src/*.a) $(COMPRESSED1) $(COMPRESSED2)
RES=$(wildcard res/*) $(wildcard ../common/res/*)
BUILDDISK=$(BUILDDIR)/$(DISKVOLUME).po
.PHONY: clean mount all
$(BUILDDISK): $(EXE) $(LOADER) $(RES)
$(LOADER): $(SOURCES) | $(BUILDDIR)
$(ACME) src/loader.a
$(CADIUS) REPLACEFILE "$(BUILDDISK)" "/$(DISKVOLUME)/" "$(LOADER)" -C
@touch "$@"
$(EXE): $(SOURCES) $(COMPRESSED1) $(COMPRESSED2) | $(BUILDDIR)
$(ACME) src/odin.a
$(CADIUS) REPLACEFILE "$(BUILDDISK)" "/$(DISKVOLUME)/" "$(EXE)" -C
@touch "$@"
$(RES): $(BUILDDIR)
$(CADIUS) REPLACEFILE "$(BUILDDISK)" "/$(DISKVOLUME)/" "$@" -C
@touch "$@"
$(COMPRESSED1):
$(EXOMIZER) src/OBJ1@0x0800 -o "$@"
$(COMPRESSED2):
$(EXOMIZER) src/OBJ2@0x4000 -o "$@"
mount: $(BUILDDISK)
@open "$(BUILDDISK)"
clean:
rm -rf "$(BUILDDIR)"
$(BUILDDIR):
mkdir -p "$@"
$(CADIUS) CREATEVOLUME "$(BUILDDISK)" "$(DISKVOLUME)" 140KB -C
all: clean mount
.NOTPARALLEL:

43
res/ports/odin/notes.txt Normal file
View File

@ -0,0 +1,43 @@
bootloader sets up $200..$2FF (important)
also $4E=A5 (important)
$26=8C
$3E=00
$3F=8C
$41=00
$C0=00
$C1=13
$C2=FE
$C3=DF
$C4=00
$C5=00
$C6=FF
$C7=FF
$C8=51
$C9=8B
(none seem important)
bootloader on text page 1 pushes $7F/$41 then exits via $FC58
then execution continues at $7F42
uses $4E as part of decryption key
decrypts downward until self-modifies branch target
then execution continues at $7F6E
which copies/decrypts onto zero page + stack
RTS pops address just decrypted onto bottom of stack
then execution continues at $00AB
clears memory $8ABC..$BFFF and $0C00..$1FFF
uses $200..$25F as decryption key
decrypts more then self-modifies to jump to $7E54
entry point at $7E54 clears part of zero page where
previous phase lived, then continues to game
once execution hits $7E54, all of zero page (including $4E)
has been clobbered and $200..$2FF is never used again
all registers are irrelevant
stack is irrelevant
regions that were clobbered earlier are irrelevant
can break at $7E54, capture $800..$BFF and $4000..$8ABB,
then later jump to $7E54 to start game
($4000..$5FFF and $800..$BFF still showing title screen at this point)

BIN
res/ports/odin/src/OBJ1 Normal file

Binary file not shown.

BIN
res/ports/odin/src/OBJ1.X Normal file

Binary file not shown.

BIN
res/ports/odin/src/OBJ2 Normal file

Binary file not shown.

BIN
res/ports/odin/src/OBJ2.X Normal file

Binary file not shown.

View File

@ -0,0 +1,25 @@
!cpu 6502
*=$2000
!to "build/LOADER.SYSTEM#FF2000",plain
!src "../common/src/constants.a"
!src "../common/src/macros.a"
+READ_ENTIRE_FILE parm_boot_open, parm_boot_read
jmp (entry)
parm_boot_open
!byte 3
!word filename
!word $2100
!byte 0
parm_boot_read
!byte 4
!byte 1
entry !word $8000
!word $FFFF
!word 0
filename
!text 4,"ODIN"

45
res/ports/odin/src/odin.a Normal file
View File

@ -0,0 +1,45 @@
!cpu 6502
*=$8000
!to "build/ODIN#068000",plain
!src "../common/src/constants.a"
!src "../common/src/macros.a"
jmp start
compressed_data
!bin "src/OBJ1.X"
!bin "src/OBJ2.X"
FORWARD_DECRUNCHING = 1
SHOW_PROGRESS_DURING_DECRUNCH = 1
kExoProgressWidth = 12 ; depends on total size, max 38
!src "../common/src/exodecrunch.a"
start
+INIT_MACHINE
jsr decrunch ; compressed data contains target address
!if * != $AA2C {
!serious "Adjust prelaunch to patch JSR at ", *, " to JMP"
}
jsr decrunch_no_reset_progress
bit GFXMODE
bit PAGE2
bit HIRES
bit MIXEDGFX
bit CLEARKBD
ldy #$19 ; wait loop based on code from original game
- bit KBD ; but allow pressing key to start game early
bmi +
lda #$00
jsr ROM_WAIT
dey
bne -
+ bit CLEARKBD
jmp $7E54
get_crunched_byte
lda compressed_data
inc get_crunched_byte+1
bne +
inc get_crunched_byte+2
+ rts

View File

@ -41,11 +41,10 @@
sta _byte_lo
lda #$50
sta _byte_hi
jsr decrunch_no_reset_progress
!if * != $879 {
!serious "Adjust prelaunch to patch JSR at ", *
!if * != $876 {
!serious "Adjust prelaunch to patch JSR at ", *, " to JMP"
}
jsr decrunch_no_reset_progress
jmp $4000
parm_obj_x_open

View File

@ -22,6 +22,9 @@ start
bit PAGE1
bit HIRES
bit FULLGFX
!if * != $B26D {
!serious "Adjust prelaunch to patch JSR at ", *, " to JMP"
}
jsr decrunch_no_reset_progress
ldx #$0C
ldy #$00
@ -37,9 +40,6 @@ start
sta $5101
lda #>load_level
sta $5102
!if * != $B290 {
!serious "Adjust prelaunch to patch JSR at ", *
}
jsr $900
bit CLEARKBD
jsr PRODOS_MLI

View File

@ -20,7 +20,7 @@ start
+INIT_MACHINE
jsr title
!if * != $9FB3 {
!serious "Adjust prelaunch to patch JSR at ", *
!serious "Adjust prelaunch to patch JSR at ", *, " to JMP"
}
jsr decrunch ; compressed data contains target address
jmp $404B

View File

@ -27,7 +27,7 @@ print_loop
bne print_loop
+
!if * != $B55F {
!serious "Adjust prelaunch to patch JSR at ", *
!serious "Adjust prelaunch to patch JSR at ", *, " to JMP"
}
jsr decrunch ; compressed data contains target address
bit GFXMODE

View File

@ -17,7 +17,7 @@ kExoProgressWidth = 18 ; depends on total size, max 38
start
+INIT_MACHINE
!if * != $B9DE {
!serious "Adjust prelaunch to patch JSR at ", *
!serious "Adjust prelaunch to patch JSR at ", *, " to JMP"
}
jsr decrunch ; compressed data contains target address
bit GFXMODE

View File

@ -17,7 +17,7 @@ kExoProgressWidth = 19 ; depends on total size, max 38
start
+INIT_MACHINE
!if * != $BA3C {
!serious "Adjust prelaunch to patch JSR at ", *
!serious "Adjust prelaunch to patch JSR at ", *, " to JMP"
}
jsr decrunch ; compressed data contains target address
bit GFXMODE

View File

@ -17,7 +17,7 @@ kExoProgressWidth = 13 ; depends on total size, max 38
start
+INIT_MACHINE
!if * != $356C {
!serious "Adjust prelaunch to patch JSR at ", *
!serious "Adjust prelaunch to patch JSR at ", *, " to JMP"
}
jsr decrunch ; compressed data contains target address
jmp $4000

View File

@ -22,6 +22,9 @@ start
bit PAGE1
bit HIRES
bit FULLGFX
!if * != $B9BC {
!serious "Adjust prelaunch to patch JSR at ", *
}
jsr decrunch_no_reset_progress
ldx #$0C
ldy #$00
@ -37,9 +40,6 @@ start
sta $514A
lda #>load_level
sta $514B
!if * != $B9DF {
!serious "Adjust prelaunch to patch JSR at ", *
}
jsr $900
bit CLEARKBD
jsr PRODOS_MLI

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2566141
!be24 2598963
!le16 592

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2550629
!le16 1526
!be24 2583302
!le16 1543

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2538517
!le16 507
!be24 2570964
!le16 514

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2541060
!le16 876
!be24 2573566
!le16 883

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2544024
!le16 829
!be24 2576589
!le16 843

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2547902
!le16 1283
!be24 2580533
!le16 1297

View File

@ -3,4 +3,4 @@
;
; This file is automatically generated
;
!word 38
!word 40

View File

@ -3,4 +3,4 @@
;
; This file is automatically generated
;
!word 57
!word 59

View File

@ -3,4 +3,4 @@
;
; This file is automatically generated
;
!word 59
!word 61

View File

@ -3,4 +3,4 @@
;
; This file is automatically generated
;
!word 83
!word 85

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2566733
!be24 2599555
!le16 306

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2567383
!be24 2600205
!le16 336

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2567719
!be24 2600541
!le16 303

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2053780
!be24 2071181
!le16 69

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2554795
!be24 2587485
!le16 1640

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2567115
!be24 2599937
!le16 67

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2566129
!be24 2598951
!le16 12

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2565015
!be24 2597837
!le16 1062

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2562559
!be24 2595353
!le16 365

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2552155
!be24 2584845
!le16 2640

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2556793
!le16 1444
!be24 2589483
!le16 1472

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2567039
!be24 2599861
!le16 76

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2566077
!be24 2598899
!le16 52

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2567182
!be24 2600004
!le16 201

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2562924
!be24 2595718
!le16 421

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2563345
!le16 192
!be24 2596139
!le16 209

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2563537
!be24 2596348
!le16 107

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2563644
!le16 281
!be24 2596455
!le16 292

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2563925
!be24 2596747
!le16 778

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2564703
!be24 2597525
!le16 285

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2564988
!be24 2597810
!le16 27

Some files were not shown because too many files have changed in this diff Show More