add Checkers

This commit is contained in:
4am 2024-04-02 23:09:03 -04:00
parent 6694960bbe
commit 90f1d0b4bc
69 changed files with 221 additions and 60 deletions

Binary file not shown.

BIN
res/ACTION.HGR/CHECKERS Normal file

Binary file not shown.

8
res/ATTRACT/CHECKERS Normal file
View File

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

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -31,6 +31,7 @@
11000,BASEBALL=Championship Baseball
11000,CHAMP.BSKETBALL=Championship Basketball
01000,CHAMP.WRESTLE=Championship Wrestling
00001,CHECKERS=Checkers
10001,CMPTR.FOOSBALL=Computer Foosball
10000,DIVE.BOMBER=Dive Bomber
10000,FIGHT.NIGHT=Fight Night

View File

@ -6,6 +6,7 @@ CHAMP.WRESTLE
CHAMP.BSKETBAL2=CHAMP.BSKETBALL
BLACK.BELT
BOP.N.WRESTLE
CHECKERS
AUTOBAHN
BLACK.BELT2=BLACK.BELT
CHAMP.BSKETBALL

View File

@ -5,7 +5,9 @@
KONO
MU.TORERE
REVERSI
CHECKERS
SEEGA
MICROCHESS
ROCK.N.SCROLL
NINE.MENS
PENSATE

View File

@ -8,8 +8,10 @@ PENSATE
KONO
MU.TORERE
REVERSI
CHECKERS
SEEGA
NINE.MENS
MICROCHESS
ROCK.N.SCROLL
[eof]

View File

@ -9,5 +9,6 @@ AUTOBAHN
CMPTR.FOOSBALL
#BASEBALL
CHAMP.WRESTLE
CHECKERS
[eof]

Binary file not shown.

1
res/TITLE.HGR/CHECKERS Normal file

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@ -4,6 +4,7 @@
### New games
- Checkers
- Fox & Geese
- Hi-Res Football
- Hi-Res Soccer

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=CHECKERS
LOADER=$(BUILDDIR)/LOADER.SYSTEM\#FF2000
EXE=$(BUILDDIR)/CHECKERS\#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/checkers.a
$(CADIUS) REPLACEFILE "$(BUILDDISK)" "/$(DISKVOLUME)/" "$(EXE)" -C
@touch "$@"
$(RES): $(BUILDDIR)
$(CADIUS) REPLACEFILE "$(BUILDDISK)" "/$(DISKVOLUME)/" "$@" -C
@touch "$@"
$(COMPRESSED):
$(EXOMIZER) src/OBJ@0x0800 -o "$@"
mount: $(BUILDDISK)
@open "$(BUILDDISK)"
clean:
rm -rf "$(BUILDDIR)"
$(BUILDDIR):
mkdir -p "$@"
$(CADIUS) CREATEVOLUME "$(BUILDDISK)" "$(DISKVOLUME)" 140KB -C
all: clean mount
.NOTPARALLEL:

View File

@ -0,0 +1 @@
OBJ contains $0800..$5FFF, then $0200..$02FF

BIN
res/ports/checkers/src/OBJ Normal file

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,48 @@
!cpu 6502
*=$8000
!to "build/CHECKERS#068000",plain
!src "../common/src/constants.a"
!src "../common/src/macros.a"
jmp start
compressed_data
!bin "src/OBJ.X"
DECRUNCH_FORWARDS = 1
SHOW_PROGRESS_DURING_DECRUNCH = 0
!src "../common/src/exodecrunch.a"
start
+INIT_MACHINE
!if * != $B8B4 {
!serious "Adjust prelaunch to patch JSR at ", *
}
jsr decrunch ; compressed data contains target address
bit GFXMODE
bit PAGE2
bit HIRES
bit MIXEDGFX
ldy #$00
- lda $6000, y
sta $0200, y
iny
bne -
lda #$C2 ; set in original bootloader, checked in-game
sta $24
lda #$00 ; wait loop from original game
ldx #$18
@wait jsr ROM_WAIT
dex
bmi @exit
bit KBD
bpl @wait
@exit bit CLEARKBD
jmp $3B6C
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 8,"CHECKERS"

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2121290
!be24 2144467
!le16 571

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2108658
!be24 2131775
!le16 978

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2100096
!le16 322
!be24 2123047
!le16 329

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2101846
!le16 576
!be24 2124832
!le16 601

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2103972
!le16 549
!be24 2127011
!le16 563

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2106733
!le16 855
!be24 2129814
!le16 876

View File

@ -3,4 +3,4 @@
;
; This file is automatically generated
;
!word 27
!word 28

View File

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

View File

@ -3,4 +3,4 @@
;
; This file is automatically generated
;
!word 44
!word 45

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2120416
!be24 2143593
!le16 810

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2118423
!be24 2141585
!le16 243

View File

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

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2114274
!le16 1070
!be24 2137391
!le16 1085

View File

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

View File

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

View File

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

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2118666
!le16 335
!be24 2141828
!le16 350

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2119001
!be24 2142178
!le16 129

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2119130
!be24 2142307
!le16 92

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2119222
!be24 2142399
!le16 192

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2119414
!be24 2142591
!le16 713

View File

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

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2120412
!be24 2143589
!le16 4

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2123150
!be24 2146327
!le16 2370

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2116464
!le16 548
!be24 2139596
!le16 563

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2117012
!be24 2140159
!le16 526

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2107588
!le16 1070
!be24 2130690
!le16 1085

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 572459
!be24 580139
!le16 8184

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 588835
!be24 596515
!le16 8184

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 580643
!be24 588323
!le16 8192

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2099178
!le16 918
!be24 2122101
!le16 946

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2100418
!le16 1428
!be24 2123376
!le16 1456

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2102422
!le16 1550
!be24 2125433
!le16 1578

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2104521
!le16 2212
!be24 2127574
!le16 2240

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2113916
!be24 2137033
!le16 358

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2115344
!be24 2138476
!le16 1120

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2117538
!le16 885
!be24 2140685
!le16 900

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2098689
!le16 489
!be24 2121595
!le16 506

19
src/prelaunch/checkers.a Normal file
View File

@ -0,0 +1,19 @@
;license:MIT
!cpu 6502
!to "build/PRELAUNCH.INDEXED/CHECKERS",plain
*=$106
!source "src/prelaunch/common.a"
+ENABLE_ACCEL
lda #$4C
sta $B8B4
jsr $8000
+DISABLE_ACCEL
+RESET_VECTOR $100
jmp $B8B7
!if * > $1C0 {
!error "code is too large, ends at ", *
}