add MicroChess

This commit is contained in:
4am 2024-04-02 14:22:57 -04:00
parent 4e4a93a703
commit 6694960bbe
69 changed files with 225 additions and 57 deletions

Binary file not shown.

BIN
res/ACTION.HGR/MICROCHESS Normal file

Binary file not shown.

8
res/ATTRACT/MICROCHESS Normal file
View File

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

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -47,6 +47,7 @@
00001,KONO=Kono
00001,MU.TORERE=Mu Torere
00001,MICROGOLF=Micro Golf
00001,MICROCHESS=MicroChess
00001,NINE.MENS=Nine Men's Morris
10001,ONE.ON.ONE=One on One
00001,PENSATE=Pensate

View File

@ -13,5 +13,6 @@ HARDBALL
MICROGOLF3=MICROGOLF
HIRES.FOOTBALL
INTL.HOCKEY
MICROCHESS
[eof]

View File

@ -15,5 +15,6 @@ FS2
DIVE.BOMBER
KONO
HIRES.SOCCER
MICROCHESS
[eof]

Binary file not shown.

BIN
res/TITLE.HGR/MICROCHESS Normal file

Binary file not shown.

Binary file not shown.

View File

@ -9,6 +9,7 @@
- Hi-Res Soccer
- Kono
- Micro Golf
- MicroChess
- Mu Torere
- Nine Men's Morris
- Reversi

View File

@ -39,7 +39,6 @@ John Madden Football
Ken Uston's Professional Blackjack (latest version is 1.23?) [4am crack]
Maxi Golf
Micro League Baseball (1984 version, not 1980)
MicroChess 2.0 (Personal Software) [4am crack]
Olympic Decathlon
Pro Football (Systems Design Lab)
Pro Golf (Home-Computer Software)

View File

@ -51,6 +51,7 @@ ROM_CLREOL_FROM_Y = $FC9E
ROM_WAIT = $FCA8
ROM_KEYIN = $FD1B
ROM_COUT = $FDED
ROM_COUT1 = $FDF0
ROM_INVERSE = $FE80 ; INVERSE text
ROM_NORMAL = $FE84 ; NORMAL text (instead of INVERSE or FLASH)
ROM_IN0 = $FE89 ; SETKBD

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=MICROCHESS
LOADER=$(BUILDDIR)/LOADER.SYSTEM\#FF2000
EXE=$(BUILDDIR)/MICROCHESS\#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/microchess.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:

Binary file not shown.

Binary file not shown.

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 10,"MICROCHESS"

View File

@ -0,0 +1,61 @@
!cpu 6502
*=$8000
!to "build/MICROCHESS#068000",plain
!src "../common/src/constants.a"
!src "../common/src/macros.a"
jmp start
credits
!bin "src/CREDITS"
compressed_data
!bin "src/OBJ.X"
DECRUNCH_FORWARDS = 1
SHOW_PROGRESS_DURING_DECRUNCH = 0
!src "../common/src/exodecrunch.a"
start
+INIT_MACHINE
ldy #$00 ; code from original game
@loop lda credits, y
bmi @print
sta $24
bpl @next ; always branches
@print sty $F4
jsr ROM_COUT1
ldy $F4
@next iny
bne @loop
!if * != $9667 {
!serious "Adjust prelaunch to patch JSR at ", *
}
jsr decrunch ; compressed data contains target address
bit GFXMODE
bit PAGE1
bit HIRES
bit FULLGFX
lda #$02
sta $F1
lda #$08
sta $F3
ldy #$00
sty $F0
sty $F2
- lda ($F2), y
sta ($F0), y
iny
bne -
inc $F1
inc $F3
lda $F1
cmp #$20
bne -
jmp $600
get_crunched_byte
lda compressed_data
inc get_crunched_byte+1
bne +
inc get_crunched_byte+2
+ rts

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -0,0 +1,19 @@
;license:MIT
!cpu 6502
!to "build/PRELAUNCH.INDEXED/MICROCHESS",plain
*=$106
!source "src/prelaunch/common.a"
+ENABLE_ACCEL
lda #$4C
sta $9667
jsr $8000
+DISABLE_ACCEL
; can not set reset vector because game stores data there
jmp $966A
!if * > $1C0 {
!error "code is too large, ends at ", *
}