mirror of
https://github.com/a2-4am/4sports.git
synced 2025-04-09 18:38:23 +00:00
add Place Ball
This commit is contained in:
parent
4ddfd3d133
commit
1a9bb809dc
BIN
res/ACTION.HGR.UNCOMPRESSED/PLACE.BALL
Normal file
BIN
res/ACTION.HGR.UNCOMPRESSED/PLACE.BALL
Normal file
Binary file not shown.
BIN
res/ACTION.HGR/PLACE.BALL
Normal file
BIN
res/ACTION.HGR/PLACE.BALL
Normal file
Binary file not shown.
8
res/ATTRACT/PLACE.BALL
Normal file
8
res/ATTRACT/PLACE.BALL
Normal file
@ -0,0 +1,8 @@
|
||||
#
|
||||
# Attract mode for PLACE.BALL
|
||||
# This file is automatically generated
|
||||
#
|
||||
|
||||
PLACE.BALL=A
|
||||
|
||||
[eof]
|
BIN
res/CACHE00.IDX
BIN
res/CACHE00.IDX
Binary file not shown.
BIN
res/CACHE01.IDX
BIN
res/CACHE01.IDX
Binary file not shown.
BIN
res/CACHE10.IDX
BIN
res/CACHE10.IDX
Binary file not shown.
BIN
res/CACHE11.IDX
BIN
res/CACHE11.IDX
Binary file not shown.
22
res/GAMEHELP/PLACE.BALL
Normal file
22
res/GAMEHELP/PLACE.BALL
Normal 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]
|
@ -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
|
||||
|
@ -6,5 +6,6 @@ PITSTOP.II
|
||||
REVERSI
|
||||
ONE.ON.ONE
|
||||
NINE.MENS
|
||||
PLACE.BALL
|
||||
|
||||
[eof]
|
||||
|
@ -5,5 +5,6 @@
|
||||
MIX.MATCHER
|
||||
WARI
|
||||
FOX.AND.GEESE
|
||||
PLACE.BALL
|
||||
|
||||
[eof]
|
||||
|
@ -12,6 +12,7 @@ MAGNET.MADNESS
|
||||
MIX.MATCHER
|
||||
SEEGA
|
||||
MPL
|
||||
PLACE.BALL
|
||||
NINE.MENS
|
||||
ROCK.N.SCROLL
|
||||
JUMP.PIT
|
||||
|
@ -8,6 +8,7 @@ NINE.MENS
|
||||
NIMWIT
|
||||
ONE.ON.ONE
|
||||
REVERSI
|
||||
PLACE.BALL
|
||||
PENSATE
|
||||
PITSTOP.II
|
||||
|
||||
|
BIN
res/TITLE.HGR.UNPACKED/PLACE.BALL
Normal file
BIN
res/TITLE.HGR.UNPACKED/PLACE.BALL
Normal file
Binary file not shown.
1
res/TITLE.HGR/PLACE.BALL
Normal file
1
res/TITLE.HGR/PLACE.BALL
Normal file
File diff suppressed because one or more lines are too long
BIN
res/dsk/place ball (4am pack).po
Normal file
BIN
res/dsk/place ball (4am pack).po
Normal file
Binary file not shown.
@ -23,6 +23,7 @@
|
||||
- Nimwit
|
||||
- Nine Men's Morris
|
||||
- Pay Day
|
||||
- Place Ball
|
||||
- Reversi
|
||||
- Rock & Scroll
|
||||
- Seega
|
||||
|
@ -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
|
||||
|
55
res/ports/place-ball/Makefile
Normal file
55
res/ports/place-ball/Makefile
Normal 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:
|
@ -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
|
||||
|
BIN
res/ports/place-ball/src/OBJ1
Normal file
BIN
res/ports/place-ball/src/OBJ1
Normal file
Binary file not shown.
BIN
res/ports/place-ball/src/OBJ1.X
Normal file
BIN
res/ports/place-ball/src/OBJ1.X
Normal file
Binary file not shown.
BIN
res/ports/place-ball/src/OBJ2
Normal file
BIN
res/ports/place-ball/src/OBJ2
Normal file
Binary file not shown.
BIN
res/ports/place-ball/src/OBJ2.X
Normal file
BIN
res/ports/place-ball/src/OBJ2.X
Normal file
Binary file not shown.
25
res/ports/place-ball/src/loader.a
Normal file
25
res/ports/place-ball/src/loader.a
Normal 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"
|
76
res/ports/place-ball/src/place.ball.a
Normal file
76
res/ports/place-ball/src/place.ball.a
Normal 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
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 2322779
|
||||
!be24 2345218
|
||||
!le16 571
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 2308640
|
||||
!be24 2331011
|
||||
!le16 1370
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 2298397
|
||||
!le16 444
|
||||
!be24 2320599
|
||||
!le16 458
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 2300608
|
||||
!le16 751
|
||||
!be24 2322856
|
||||
!le16 765
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 2303153
|
||||
!le16 678
|
||||
!be24 2325447
|
||||
!le16 692
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 2306382
|
||||
!le16 1033
|
||||
!be24 2328722
|
||||
!le16 1047
|
||||
|
@ -3,4 +3,4 @@
|
||||
;
|
||||
; This file is automatically generated
|
||||
;
|
||||
!word 35
|
||||
!word 36
|
||||
|
@ -3,4 +3,4 @@
|
||||
;
|
||||
; This file is automatically generated
|
||||
;
|
||||
!word 50
|
||||
!word 51
|
||||
|
@ -3,4 +3,4 @@
|
||||
;
|
||||
; This file is automatically generated
|
||||
;
|
||||
!word 52
|
||||
!word 53
|
||||
|
@ -3,4 +3,4 @@
|
||||
;
|
||||
; This file is automatically generated
|
||||
;
|
||||
!word 71
|
||||
!word 72
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 2323350
|
||||
!be24 2345789
|
||||
!le16 306
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 2324000
|
||||
!be24 2346439
|
||||
!le16 336
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 2324336
|
||||
!be24 2346775
|
||||
!le16 303
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 1841696
|
||||
!be24 1850838
|
||||
!le16 69
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 2312650
|
||||
!be24 2335021
|
||||
!le16 1640
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 2323732
|
||||
!be24 2346171
|
||||
!le16 67
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 2322767
|
||||
!be24 2345206
|
||||
!le16 12
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 2321877
|
||||
!be24 2344316
|
||||
!le16 838
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 2319712
|
||||
!be24 2342134
|
||||
!le16 271
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 2310010
|
||||
!be24 2332381
|
||||
!le16 2640
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 2314648
|
||||
!le16 1225
|
||||
!be24 2337019
|
||||
!le16 1242
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 2323656
|
||||
!be24 2346095
|
||||
!le16 76
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 2322715
|
||||
!be24 2345154
|
||||
!le16 52
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 2323799
|
||||
!be24 2346238
|
||||
!le16 201
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 2319983
|
||||
!be24 2342405
|
||||
!le16 383
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 2320366
|
||||
!be24 2342788
|
||||
!le16 138
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 2320504
|
||||
!be24 2342926
|
||||
!le16 107
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 2320611
|
||||
!le16 264
|
||||
!be24 2343033
|
||||
!le16 281
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 2320875
|
||||
!be24 2343314
|
||||
!le16 713
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 2321588
|
||||
!be24 2344027
|
||||
!le16 285
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 2321873
|
||||
!be24 2344312
|
||||
!le16 4
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 2324639
|
||||
!be24 2347078
|
||||
!le16 2370
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 2317471
|
||||
!le16 703
|
||||
!be24 2339859
|
||||
!le16 720
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 2318174
|
||||
!be24 2340579
|
||||
!le16 526
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 2307415
|
||||
!le16 1225
|
||||
!be24 2329769
|
||||
!le16 1242
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 675371
|
||||
!be24 683051
|
||||
!le16 8184
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 691747
|
||||
!be24 699427
|
||||
!le16 8184
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 683555
|
||||
!be24 691235
|
||||
!le16 8192
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 2297235
|
||||
!le16 1162
|
||||
!be24 2319405
|
||||
!le16 1194
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 2298841
|
||||
!le16 1767
|
||||
!be24 2321057
|
||||
!le16 1799
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 2301359
|
||||
!le16 1794
|
||||
!be24 2323621
|
||||
!le16 1826
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 2303831
|
||||
!le16 2551
|
||||
!be24 2326139
|
||||
!le16 2583
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 2314290
|
||||
!be24 2336661
|
||||
!le16 358
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 2315873
|
||||
!be24 2338261
|
||||
!le16 1598
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 2318700
|
||||
!le16 1012
|
||||
!be24 2341105
|
||||
!le16 1029
|
||||
|
@ -4,5 +4,5 @@
|
||||
; This file is automatically generated
|
||||
;
|
||||
!byte 0
|
||||
!be24 2296643
|
||||
!le16 592
|
||||
!be24 2318794
|
||||
!le16 611
|
||||
|
19
src/prelaunch/place.ball.a
Normal file
19
src/prelaunch/place.ball.a
Normal 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 ", *
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user