add Place Ball

This commit is contained in:
4am 2024-04-14 21:02:14 -04:00
parent 4ddfd3d133
commit 1a9bb809dc
73 changed files with 282 additions and 61 deletions

Binary file not shown.

BIN
res/ACTION.HGR/PLACE.BALL Normal file

Binary file not shown.

8
res/ATTRACT/PLACE.BALL Normal file
View File

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

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

22
res/GAMEHELP/PLACE.BALL Normal file
View File

@ -0,0 +1,22 @@
Hit all the targets with balls
before you run out
joystick, keyboard, or mouse
move cursor with
I
J K
M
press Return or button 0 to select
Esc* * * * * * * * * * * * * * * * *quit
[eof]

View File

@ -63,6 +63,7 @@
01100,PAY.DAY=Pay Day
00001,PENSATE=Pensate
00001,PITSTOP.II=Pitstop II
00001,PLACE.BALL=Place Ball
10001,POOL=Pool
00001,REVERSI=Reversi
00001,ROCK.N.SCROLL=Rock & Scroll

View File

@ -6,5 +6,6 @@ PITSTOP.II
REVERSI
ONE.ON.ONE
NINE.MENS
PLACE.BALL
[eof]

View File

@ -5,5 +5,6 @@
MIX.MATCHER
WARI
FOX.AND.GEESE
PLACE.BALL
[eof]

View File

@ -12,6 +12,7 @@ MAGNET.MADNESS
MIX.MATCHER
SEEGA
MPL
PLACE.BALL
NINE.MENS
ROCK.N.SCROLL
JUMP.PIT

View File

@ -8,6 +8,7 @@ NINE.MENS
NIMWIT
ONE.ON.ONE
REVERSI
PLACE.BALL
PENSATE
PITSTOP.II

Binary file not shown.

1
res/TITLE.HGR/PLACE.BALL Normal file

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@ -23,6 +23,7 @@
- Nimwit
- Nine Men's Morris
- Pay Day
- Place Ball
- Reversi
- Rock & Scroll
- Seega

View File

@ -88,7 +88,6 @@ Wheel of Fortune First Edition (+ Second Edition, Third Edition, Golden Edition)
Win, Lose, or Draw (+ Second Edition, Junior Edition) [DHGR][128K] (Junior Edition is HGR-but-128K)
//idea:Bez collection
Place Ball
Slide Glide
Zig Zag Flag Shag
Fuelish Future

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=PLACE.BALL
LOADER=$(BUILDDIR)/LOADER.SYSTEM\#FF2000
EXE=$(BUILDDIR)/PLACE.BALL\#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/place.ball.a
$(CADIUS) REPLACEFILE "$(BUILDDISK)" "/$(DISKVOLUME)/" "$(EXE)" -C
@touch "$@"
$(RES): $(BUILDDIR)
$(CADIUS) REPLACEFILE "$(BUILDDISK)" "/$(DISKVOLUME)/" "$@" -C
@touch "$@"
$(COMPRESSED1):
$(EXOMIZER) src/OBJ1@0x0900 -o "$@"
$(COMPRESSED2):
$(EXOMIZER) src/OBJ2@0x5000 -o "$@"
mount: $(BUILDDISK)
@open "$(BUILDDISK)"
clean:
rm -rf "$(BUILDDIR)"
$(BUILDDIR):
mkdir -p "$@"
$(CADIUS) CREATEVOLUME "$(BUILDDISK)" "$(DISKVOLUME)" 140KB -C
all: clean mount
.NOTPARALLEL:

View File

@ -22,3 +22,13 @@ $11E2 reads and closes the file
game code includes first (tutorial) level, so the first
disk access isn't until after you solve that, to load PUZZLE01
-=-=-
OBJ1 contains $900..$3FFF (initial title screen, originally packed)
OBJ2 contains $5000..$8FFF + PUZZLE01 + PUZZLE02 + ... + PUZZLE06
must move puzzles up because game uses $9000+ (until maybe $95FF?)
but there's plenty of room in higher memory because the original
assumes BASIC.SYSTEM remains in memory so it couldn't be touching
anything beyond $9600

Binary file not shown.

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,"PLACE.BALL"

View File

@ -0,0 +1,76 @@
!cpu 6502
*=$8000
!to "build/PLACE.BALL#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 = 7 ; depends on total size, max 38
!src "../common/src/exodecrunch.a"
start
+INIT_MACHINE
jsr decrunch ; compressed data contains target address
bit GFXMODE
bit PAGE1
bit HIRES
bit FULLGFX
jsr decrunch_no_reset_progress
ldx #$0C
ldy #$00
@a lda $9000, y
@b sta $A200, y
iny
bne @a
inc @a+2
inc @b+2
dex
bne @a
lda #<load_level
sta $5101
lda #>load_level
sta $5102
!if * != $B290 {
!serious "Adjust prelaunch to patch JSR at ", *
}
jsr $900
bit CLEARKBD
jsr PRODOS_MLI
!byte CMD_QUIT
!word +
+ !byte 4
get_crunched_byte
lda compressed_data
inc get_crunched_byte+1
bne +
inc get_crunched_byte+2
+ rts
load_level
jsr $11BC ; use game code to get # of next level
and #$0F
asl
clc
adc #$A0 ; calculate where we stored that level data ($A200+)
sta @a+2
lda #$6A
sta @b+2
ldx #$02
ldy #$00
@a lda $FD00, y ; SMC
@b sta $6A00, y ; SMC
iny
bne @a
inc @a+2
inc @b+2
dex
bne @a
rts

View File

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

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2308640
!be24 2331011
!le16 1370

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2298397
!le16 444
!be24 2320599
!le16 458

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2300608
!le16 751
!be24 2322856
!le16 765

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2303153
!le16 678
!be24 2325447
!le16 692

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2306382
!le16 1033
!be24 2328722
!le16 1047

View File

@ -3,4 +3,4 @@
;
; This file is automatically generated
;
!word 35
!word 36

View File

@ -3,4 +3,4 @@
;
; This file is automatically generated
;
!word 50
!word 51

View File

@ -3,4 +3,4 @@
;
; This file is automatically generated
;
!word 52
!word 53

View File

@ -3,4 +3,4 @@
;
; This file is automatically generated
;
!word 71
!word 72

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2321877
!be24 2344316
!le16 838

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2319712
!be24 2342134
!le16 271

View File

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

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2314648
!le16 1225
!be24 2337019
!le16 1242

View File

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

View File

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

View File

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

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2319983
!be24 2342405
!le16 383

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2320366
!be24 2342788
!le16 138

View File

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

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2320611
!le16 264
!be24 2343033
!le16 281

View File

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

View File

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

View File

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

View File

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

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2317471
!le16 703
!be24 2339859
!le16 720

View File

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

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2307415
!le16 1225
!be24 2329769
!le16 1242

View File

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

View File

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

View File

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

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2297235
!le16 1162
!be24 2319405
!le16 1194

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2298841
!le16 1767
!be24 2321057
!le16 1799

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2301359
!le16 1794
!be24 2323621
!le16 1826

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2303831
!le16 2551
!be24 2326139
!le16 2583

View File

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

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2315873
!be24 2338261
!le16 1598

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2318700
!le16 1012
!be24 2341105
!le16 1029

View File

@ -4,5 +4,5 @@
; This file is automatically generated
;
!byte 0
!be24 2296643
!le16 592
!be24 2318794
!le16 611

View File

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