mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-01-26 16:33:43 +00:00
games: update README/Makefiles
This commit is contained in:
parent
de702a1fdd
commit
8c445868b5
22
games/Makefile
Normal file
22
games/Makefile
Normal file
@ -0,0 +1,22 @@
|
||||
all:
|
||||
cd duke && make
|
||||
cd glados3.3 && make
|
||||
cd ksp && make
|
||||
cd mist && make
|
||||
cd monkey && make
|
||||
cd ootw && make
|
||||
cd space_bars && make
|
||||
cd tb_6502 && make
|
||||
cd tfv && make
|
||||
|
||||
clean:
|
||||
cd duke && make clean
|
||||
cd glados3.3 && make clean
|
||||
cd ksp && make clean
|
||||
cd mist && make clean
|
||||
cd monkey && make clean
|
||||
cd ootw && make clean
|
||||
cd space_bars && make clean
|
||||
cd tb_6502 && make clean
|
||||
cd tfv && make clean
|
||||
rm -f *~
|
28
games/README
Normal file
28
games/README
Normal file
@ -0,0 +1,28 @@
|
||||
Various Games/Demakes by VMW Productions
|
||||
|
||||
+ duke
|
||||
proof of concept demake of Duke Nukem1
|
||||
|
||||
+ glados3.3
|
||||
Applesoft BASIC demo of "Portal"
|
||||
|
||||
+ ksp
|
||||
Applesoft BASIC demo of Kerbal Space Program
|
||||
|
||||
+ mist
|
||||
Full demak of Myst, fitting on 3 disks
|
||||
|
||||
+ monkey
|
||||
proof of concept demake of Secret of Monkey Island
|
||||
|
||||
+ ootw
|
||||
partial demake of Out of this World / Another World
|
||||
|
||||
+ space_bars
|
||||
vapor-lock/cycle counted proof of concept game
|
||||
|
||||
+ tb_6502
|
||||
Tom Bombem for Apple II, scrolling space shooter
|
||||
|
||||
+ tfv
|
||||
Talbot Fantasy 7 RPG game
|
@ -1,10 +1,12 @@
|
||||
include ../Makefile.inc
|
||||
include ../../Makefile.inc
|
||||
|
||||
DOS33 = ../dos33fs-utils/dos33
|
||||
DOS33_RAW = ../dos33fs-utils/dos33_raw
|
||||
B2D = ../bmp2dhr/b2d
|
||||
PNG2GR = ../gr-utils/png2gr
|
||||
DOS33 = ../../utils/dos33fs-utils/dos33
|
||||
DOS33_RAW = ../../utils/dos33fs-utils/dos33_raw
|
||||
B2D = ../../utils/bmp2dhr/b2d
|
||||
PNG2GR = ../../utils/gr-utils/png2gr
|
||||
LZSA = ~/research/lzsa/lzsa/lzsa
|
||||
TOKENIZE = ../../utils/asoft_basic-utils/tokenize_asoft
|
||||
|
||||
|
||||
all: duke.dsk
|
||||
|
||||
@ -20,12 +22,12 @@ duke.dsk: HELLO LOADER DUKE_TITLE DUKE_LEVEL1 DUKE_LEVEL2
|
||||
###
|
||||
|
||||
HELLO: hello.bas
|
||||
../asoft_basic-utils/tokenize_asoft < hello.bas > HELLO
|
||||
$(TOKENIZE) < hello.bas > HELLO
|
||||
|
||||
####
|
||||
|
||||
LOADER: loader.o
|
||||
ld65 -o LOADER loader.o -C ../linker_scripts/apple2_1000.inc
|
||||
ld65 -o LOADER loader.o -C ../../linker_scripts/apple2_1000.inc
|
||||
|
||||
loader.o: loader.s
|
||||
ca65 -o loader.o loader.s -l loader.lst
|
||||
@ -33,7 +35,7 @@ loader.o: loader.s
|
||||
####
|
||||
|
||||
DUKE_TITLE: duke_title.o
|
||||
ld65 -o DUKE_TITLE duke_title.o -C ../linker_scripts/apple2_4000.inc
|
||||
ld65 -o DUKE_TITLE duke_title.o -C ../../linker_scripts/apple2_4000.inc
|
||||
|
||||
duke_title.o: duke_title.s zp.inc hardware.inc init_vars.s
|
||||
ca65 -o duke_title.o duke_title.s -l duke_title.lst
|
||||
@ -41,7 +43,7 @@ duke_title.o: duke_title.s zp.inc hardware.inc init_vars.s
|
||||
####
|
||||
|
||||
DUKE_LEVEL1: duke_level1.o
|
||||
ld65 -o DUKE_LEVEL1 duke_level1.o -C ../linker_scripts/apple2_2000.inc
|
||||
ld65 -o DUKE_LEVEL1 duke_level1.o -C ../../linker_scripts/apple2_2000.inc
|
||||
|
||||
duke_level1.o: duke_level1.s zp.inc hardware.inc \
|
||||
print_help.s gr_fast_clear.s quit_yn.s text_drawbox.s level_end.s \
|
||||
@ -57,7 +59,7 @@ duke_level1.o: duke_level1.s zp.inc hardware.inc \
|
||||
####
|
||||
|
||||
DUKE_LEVEL2: duke_level2.o
|
||||
ld65 -o DUKE_LEVEL2 duke_level2.o -C ../linker_scripts/apple2_2000.inc
|
||||
ld65 -o DUKE_LEVEL2 duke_level2.o -C ../../linker_scripts/apple2_2000.inc
|
||||
|
||||
duke_level2.o: duke_level2.s zp.inc hardware.inc \
|
||||
print_help.s gr_fast_clear.s quit_yn.s text_drawbox.s level_end.s \
|
||||
|
2
games/duke/README
Normal file
2
games/duke/README
Normal file
@ -0,0 +1,2 @@
|
||||
demake proof-of-concept of Duke Nukem1 for Apple II
|
||||
|
@ -1,5 +1,5 @@
|
||||
|
||||
PNG2GR = ../../gr-utils/png2gr
|
||||
PNG2GR = ../../../utils/gr-utils/png2gr
|
||||
LZSA = ~/research/lzsa/lzsa/lzsa
|
||||
|
||||
all: level1_graphics.inc level2_graphics.inc
|
||||
|
@ -1,7 +1,10 @@
|
||||
DOS33 = ../dos33fs-utils/dos33
|
||||
TXT2BAS = ../asoft_basic-utils/tokenize_asoft
|
||||
SHAPETABLE = ../hgr-utils/shape_table
|
||||
SOUNDCONVERT = ../asoft_sound/asoft_sound
|
||||
DOS33 = ../../utils/dos33fs-utils/dos33
|
||||
TXT2BAS = ../../utils/asoft_basic-utils/tokenize_asoft
|
||||
SHAPETABLE = ../../utils/hgr-utils/shape_table
|
||||
SOUNDCONVERT = ../../utils/asoft_sound/asoft_sound
|
||||
|
||||
]TOKENIZE = ../../utils/asoft_basic-utils/tokenize_asoft
|
||||
|
||||
|
||||
all: glados33.dsk
|
||||
|
||||
|
@ -1,19 +1,19 @@
|
||||
PCX2HGR = ../../hgr-utils/pcx2hgr
|
||||
DOS33 = ../../dos33fs-utils/dos33
|
||||
TXT2BAS = ../../asoft_basic-utils/tokenize_asoft
|
||||
SHAPETABLE = ../../hgr-utils/shape_table
|
||||
PCX2HGR = ../../../utils/hgr-utils/pcx2hgr
|
||||
DOS33 = ../../../utils/dos33fs-utils/dos33
|
||||
TXT2BAS = ../../../utils/asoft_basic-utils/tokenize_asoft
|
||||
SHAPETABLE = ../../../utils/hgr-utils/shape_table
|
||||
|
||||
all: ksp.dsk
|
||||
|
||||
|
||||
$(TXT2BAS):
|
||||
cd ../../asoft_basic-utils && make
|
||||
cd ../../../utils/asoft_basic-utils && make
|
||||
|
||||
$(SHAPETABLE):
|
||||
cd ../../hgr-utils && make
|
||||
cd ../../../utils/hgr-utils && make
|
||||
|
||||
$(PCX2HGR):
|
||||
cd ../../hgr-utils && make
|
||||
cd ../../../utils/hgr-utils && make
|
||||
|
||||
ACMPLX.BAS: acmplx.bas $(TXT2BAS)
|
||||
$(TXT2BAS) < acmplx.bas > ACMPLX.BAS
|
||||
|
@ -1,8 +1,8 @@
|
||||
PCX2HGR = ../../hgr-utils/pcx2hgr
|
||||
DOS33 = ../../dos33fs-utils/dos33
|
||||
TXT2BAS = ../../asoft_basic-utils/tokenize_asoft
|
||||
SHAPETABLE = ../../hgr-utils/shape_table
|
||||
MAKEB = ../../dos33fs-utils/make_b
|
||||
PCX2HGR = ../../../utils/hgr-utils/pcx2hgr
|
||||
DOS33 = ../../../utils/dos33fs-utils/dos33
|
||||
TXT2BAS = ../../../utils/asoft_basic-utils/tokenize_asoft
|
||||
SHAPETABLE = ../../../utils/hgr-utils/shape_table
|
||||
MAKEB = ../../../utils/dos33fs-utils/make_b
|
||||
LD65 = /usr/local/bin/ld65
|
||||
CA65 = /usr/local/bin/ca65
|
||||
|
||||
|
@ -1,11 +1,14 @@
|
||||
include ../Makefile.inc
|
||||
include ../../Makefile.inc
|
||||
|
||||
DOS33 = ../../utils/dos33fs-utils/dos33
|
||||
DOS33_RAW = ../../utils/dos33fs-utils/dos33_raw
|
||||
PNG_TO_40x96 = ../../utils/gr-utils/png_to_40x96
|
||||
PNG_TO_40x48D = ../../utils/gr-utils/png_to_40x48d
|
||||
PNG2RLE = ../../utils/gr-utils/png2rle
|
||||
B2D = ../../utils/bmp2dhr/b2d
|
||||
|
||||
TOKENIZE = ../../utils/asoft_basic-utils/tokenize_asoft
|
||||
|
||||
DOS33 = ../dos33fs-utils/dos33
|
||||
DOS33_RAW = ../dos33fs-utils/dos33_raw
|
||||
PNG_TO_40x96 = ../gr-utils/png_to_40x96
|
||||
PNG_TO_40x48D = ../gr-utils/png_to_40x48d
|
||||
PNG2RLE = ../gr-utils/png2rle
|
||||
B2D = ../bmp2dhr/b2d
|
||||
|
||||
all: mist.dsk mist_side2.dsk mist_side3.dsk
|
||||
|
||||
@ -88,7 +91,7 @@ mist_side3.dsk: WBOOT3 MECHE SELENA STONEY SUB
|
||||
###
|
||||
|
||||
WBOOT2: wrong_boot2.o
|
||||
ld65 -o WBOOT2 wrong_boot2.o -C ../linker_scripts/apple2_800.inc
|
||||
ld65 -o WBOOT2 wrong_boot2.o -C ../../linker_scripts/apple2_800.inc
|
||||
|
||||
wrong_boot2.o: wrong_boot2.s
|
||||
ca65 -o wrong_boot2.o wrong_boot2.s -l wrong_boot2.lst
|
||||
@ -96,7 +99,7 @@ wrong_boot2.o: wrong_boot2.s
|
||||
###
|
||||
|
||||
WBOOT3: wrong_boot3.o
|
||||
ld65 -o WBOOT3 wrong_boot3.o -C ../linker_scripts/apple2_800.inc
|
||||
ld65 -o WBOOT3 wrong_boot3.o -C ../../linker_scripts/apple2_800.inc
|
||||
|
||||
wrong_boot3.o: wrong_boot3.s
|
||||
ca65 -o wrong_boot3.o wrong_boot3.s -l wrong_boot3.lst
|
||||
@ -105,7 +108,7 @@ wrong_boot3.o: wrong_boot3.s
|
||||
###
|
||||
|
||||
QBOOT: qboot_sector.o
|
||||
ld65 -o QBOOT qboot_sector.o -C ../linker_scripts/apple2_800.inc
|
||||
ld65 -o QBOOT qboot_sector.o -C ../../linker_scripts/apple2_800.inc
|
||||
|
||||
qboot_sector.o: qboot_sector.s qboot_stage2.s
|
||||
ca65 -o qboot_sector.o qboot_sector.s -l qboot_sector.lst
|
||||
@ -113,7 +116,7 @@ qboot_sector.o: qboot_sector.s qboot_stage2.s
|
||||
###
|
||||
|
||||
TEXT_TITLE: text_title.o
|
||||
ld65 -o TEXT_TITLE text_title.o -C ../linker_scripts/apple2_800.inc
|
||||
ld65 -o TEXT_TITLE text_title.o -C ../../linker_scripts/apple2_800.inc
|
||||
|
||||
text_title.o: text_title.s text_print.s wait_a_bit.s
|
||||
ca65 -o text_title.o text_title.s -l text_title.lst
|
||||
@ -122,7 +125,7 @@ text_title.o: text_title.s text_print.s wait_a_bit.s
|
||||
###
|
||||
|
||||
QLOAD: qload.o
|
||||
ld65 -o QLOAD qload.o -C ../linker_scripts/apple2_1200.inc
|
||||
ld65 -o QLOAD qload.o -C ../../linker_scripts/apple2_1200.inc
|
||||
|
||||
qload.o: qload.s qboot.inc \
|
||||
gr_copy.s gr_offsets.s gr_pageflip.s gr_putsprite_crop.s \
|
||||
@ -135,7 +138,7 @@ qload.o: qload.s qboot.inc \
|
||||
###
|
||||
|
||||
LOADER: loader.o
|
||||
ld65 -o LOADER loader.o -C ../linker_scripts/apple2_1000.inc
|
||||
ld65 -o LOADER loader.o -C ../../linker_scripts/apple2_1000.inc
|
||||
|
||||
loader.o: loader.s \
|
||||
gr_copy.s gr_offsets.s gr_pageflip.s gr_putsprite_crop.s \
|
||||
@ -147,7 +150,7 @@ loader.o: loader.s \
|
||||
###
|
||||
|
||||
SAVE1: save1.o
|
||||
ld65 -o SAVE1 save1.o -C ../linker_scripts/apple2_e00.inc
|
||||
ld65 -o SAVE1 save1.o -C ../../linker_scripts/apple2_e00.inc
|
||||
|
||||
save1.o: save1.s
|
||||
ca65 -o save1.o save1.s -l save1.lst
|
||||
@ -155,7 +158,7 @@ save1.o: save1.s
|
||||
###
|
||||
|
||||
SAVE2: save2.o
|
||||
ld65 -o SAVE2 save2.o -C ../linker_scripts/apple2_e00.inc
|
||||
ld65 -o SAVE2 save2.o -C ../../linker_scripts/apple2_e00.inc
|
||||
|
||||
save2.o: save2.s
|
||||
ca65 -o save2.o save2.s -l save2.lst
|
||||
@ -163,7 +166,7 @@ save2.o: save2.s
|
||||
###
|
||||
|
||||
SAVE3: save3.o
|
||||
ld65 -o SAVE3 save3.o -C ../linker_scripts/apple2_e00.inc
|
||||
ld65 -o SAVE3 save3.o -C ../../linker_scripts/apple2_e00.inc
|
||||
|
||||
save3.o: save3.s
|
||||
ca65 -o save3.o save3.s -l save3.lst
|
||||
@ -171,7 +174,7 @@ save3.o: save3.s
|
||||
###
|
||||
|
||||
SAVE4: save4.o
|
||||
ld65 -o SAVE4 save4.o -C ../linker_scripts/apple2_e00.inc
|
||||
ld65 -o SAVE4 save4.o -C ../../linker_scripts/apple2_e00.inc
|
||||
|
||||
save4.o: save4.s
|
||||
ca65 -o save4.o save4.s -l save4.lst
|
||||
@ -179,7 +182,7 @@ save4.o: save4.s
|
||||
###
|
||||
|
||||
SAVE5: save5.o
|
||||
ld65 -o SAVE5 save5.o -C ../linker_scripts/apple2_e00.inc
|
||||
ld65 -o SAVE5 save5.o -C ../../linker_scripts/apple2_e00.inc
|
||||
|
||||
save5.o: save5.s
|
||||
ca65 -o save5.o save5.s -l save5.lst
|
||||
@ -208,7 +211,7 @@ common_routines.inc: qload.lst generate_common
|
||||
####
|
||||
|
||||
MIST_TITLE: mist_title.o
|
||||
ld65 -o MIST_TITLE mist_title.o -C ../linker_scripts/apple2_4000.inc
|
||||
ld65 -o MIST_TITLE mist_title.o -C ../../linker_scripts/apple2_4000.inc
|
||||
|
||||
mist_title.o: mist_title.s zp.inc hardware.inc common_defines.inc \
|
||||
common_routines.inc \
|
||||
|
@ -1,8 +1,8 @@
|
||||
#include ../Makefile.inc
|
||||
|
||||
PNG2RLE = ../../gr-utils/png2rle
|
||||
PNG2GR = ../../gr-utils/png2gr
|
||||
TEXT2GR = ../../gr-utils/text2gr
|
||||
PNG2RLE = ../../../utils/gr-utils/png2rle
|
||||
PNG2GR = ../../../utils/gr-utils/png2gr
|
||||
TEXT2GR = ../../../utils/gr-utils/text2gr
|
||||
LZSA = ~/research/lzsa/lzsa/lzsa
|
||||
|
||||
all: octagon_books.inc
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include ../Makefile.inc
|
||||
|
||||
PNG2RLE = ../../gr-utils/png2rle
|
||||
PNG2GR = ../../gr-utils/png2gr
|
||||
PNG2RLE = ../../../utils/gr-utils/png2rle
|
||||
PNG2GR = ../../../utils/gr-utils/png2gr
|
||||
LZSA = ~/research/lzsa/lzsa/lzsa
|
||||
|
||||
all: arbor_graphics.inc
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include ../Makefile.inc
|
||||
|
||||
PNG2RLE = ../../gr-utils/png2rle
|
||||
PNG2GR = ../../gr-utils/png2gr
|
||||
PNG2RLE = ../../../utils/gr-utils/png2rle
|
||||
PNG2GR = ../../../utils/gr-utils/png2gr
|
||||
LZSA = ~/research/lzsa/lzsa/lzsa
|
||||
|
||||
all: cabin_graphics.inc
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include ../Makefile.inc
|
||||
|
||||
PNG2RLE = ../../gr-utils/png2rle
|
||||
PNG2GR = ../../gr-utils/png2gr
|
||||
PNG2RLE = ../../../utils/gr-utils/png2rle
|
||||
PNG2GR = ../../../utils/gr-utils/png2gr
|
||||
LZSA = ~/research/lzsa/lzsa/lzsa
|
||||
|
||||
all: channel_graphics.inc
|
||||
|
@ -1,5 +1,5 @@
|
||||
PNG2RLE = ../../gr-utils/png2rle
|
||||
PNG2GR = ../../gr-utils/png2gr
|
||||
PNG2RLE = ../../../utils/gr-utils/png2rle
|
||||
PNG2GR = ../../../utils/gr-utils/png2gr
|
||||
LZSA = ~/research/lzsa/lzsa/lzsa
|
||||
|
||||
all: dentist_graphics.inc
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include ../Makefile.inc
|
||||
|
||||
PNG2RLE = ../../gr-utils/png2rle
|
||||
PNG2GR = ../../gr-utils/png2gr
|
||||
PNG2RLE = ../../../utils/gr-utils/png2rle
|
||||
PNG2GR = ../../../utils/gr-utils/png2gr
|
||||
LZSA = ~/research/lzsa/lzsa/lzsa
|
||||
|
||||
all: dni_graphics.inc
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include ../Makefile.inc
|
||||
|
||||
PNG2RLE = ../../gr-utils/png2rle
|
||||
PNG2GR = ../../gr-utils/png2gr
|
||||
PNG2RLE = ../../../utils/gr-utils/png2rle
|
||||
PNG2GR = ../../../utils/gr-utils/png2gr
|
||||
LZSA = ~/research/lzsa/lzsa/lzsa
|
||||
|
||||
all: generator_graphics.inc
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include ../Makefile.inc
|
||||
|
||||
PNG2RLE = ../../gr-utils/png2rle
|
||||
PNG2GR = ../../gr-utils/png2gr
|
||||
PNG2RLE = ../../../utils/gr-utils/png2rle
|
||||
PNG2GR = ../../../utils/gr-utils/png2gr
|
||||
LZSA = ~/research/lzsa/lzsa/lzsa
|
||||
|
||||
all: meche_graphics.inc
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include ../Makefile.inc
|
||||
|
||||
PNG2RLE = ../../gr-utils/png2rle
|
||||
PNG2GR = ../../gr-utils/png2gr
|
||||
PNG2RLE = ../../../utils/gr-utils/png2rle
|
||||
PNG2GR = ../../../utils/gr-utils/png2gr
|
||||
LZSA = ~/research/lzsa/lzsa/lzsa
|
||||
|
||||
all: mist_graphics.inc
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include ../Makefile.inc
|
||||
|
||||
PNG2RLE = ../../gr-utils/png2rle
|
||||
PNG2GR = ../../gr-utils/png2gr
|
||||
PNG2RLE = ../../../utils/gr-utils/png2rle
|
||||
PNG2GR = ../../../utils/gr-utils/png2gr
|
||||
LZSA = ~/research/lzsa/lzsa/lzsa
|
||||
|
||||
all: nibel_graphics.inc
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include ../Makefile.inc
|
||||
|
||||
PNG2RLE = ../../gr-utils/png2rle
|
||||
PNG2GR = ../../gr-utils/png2gr
|
||||
PNG2RLE = ../../../utils/gr-utils/png2rle
|
||||
PNG2GR = ../../../utils/gr-utils/png2gr
|
||||
LZSA = ~/research/lzsa/lzsa/lzsa
|
||||
|
||||
all: octagon_graphics.inc
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include ../Makefile.inc
|
||||
|
||||
PNG2RLE = ../../gr-utils/png2rle
|
||||
PNG2GR = ../../gr-utils/png2gr
|
||||
PNG2RLE = ../../../utils/gr-utils/png2rle
|
||||
PNG2GR = ../../../utils/gr-utils/png2gr
|
||||
LZSA = ~/research/lzsa/lzsa/lzsa
|
||||
|
||||
all: selena_graphics.inc
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include ../Makefile.inc
|
||||
|
||||
PNG2RLE = ../../gr-utils/png2rle
|
||||
PNG2GR = ../../gr-utils/png2gr
|
||||
PNG2RLE = ../../../utils/gr-utils/png2rle
|
||||
PNG2GR = ../../../utils/gr-utils/png2gr
|
||||
LZSA = ~/research/lzsa/lzsa/lzsa
|
||||
|
||||
all: ship_graphics.inc
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include ../Makefile.inc
|
||||
|
||||
PNG2RLE = ../../gr-utils/png2rle
|
||||
PNG2GR = ../../gr-utils/png2gr
|
||||
PNG2RLE = ../../../utils/gr-utils/png2rle
|
||||
PNG2GR = ../../../utils/gr-utils/png2gr
|
||||
LZSA = ~/research/lzsa/lzsa/lzsa
|
||||
|
||||
all: stoney_graphics.inc
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include ../Makefile.inc
|
||||
|
||||
PNG2RLE = ../../gr-utils/png2rle
|
||||
PNG2GR = ../../gr-utils/png2gr
|
||||
PNG2RLE = ../../../utils/gr-utils/png2rle
|
||||
PNG2GR = ../../../utils/gr-utils/png2gr
|
||||
LZSA = ~/research/lzsa/lzsa/lzsa
|
||||
|
||||
all: sub_graphics.inc
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include ../Makefile.inc
|
||||
|
||||
PNG2RLE = ../../gr-utils/png2rle
|
||||
PNG2GR = ../../gr-utils/png2gr
|
||||
PNG2RLE = ../../../utils/gr-utils/png2rle
|
||||
PNG2GR = ../../../utils/gr-utils/png2gr
|
||||
LZSA = ~/research/lzsa/lzsa/lzsa
|
||||
|
||||
all: viewer_graphics.inc
|
||||
|
@ -1,11 +1,13 @@
|
||||
include ../Makefile.inc
|
||||
include ../../Makefile.inc
|
||||
|
||||
DOS33 = ../../utils/dos33fs-utils/dos33
|
||||
DOS33_RAW = ../../utils/dos33fs-utils/dos33_raw
|
||||
PNG_TO_40x96 = ../../utils/gr-utils/png_to_40x96
|
||||
PNG_TO_40x48D = ../../utils/gr-utils/png_to_40x48d
|
||||
PNG2RLE = ../../utils/gr-utils/png2rle
|
||||
B2D = ../../utils/bmp2dhr/b2d
|
||||
TOKENIZE = ../../utils/asoft_basic-utils/tokenize_asoft
|
||||
|
||||
DOS33 = ../dos33fs-utils/dos33
|
||||
DOS33_RAW = ../dos33fs-utils/dos33_raw
|
||||
PNG_TO_40x96 = ../gr-utils/png_to_40x96
|
||||
PNG_TO_40x48D = ../gr-utils/png_to_40x48d
|
||||
PNG2RLE = ../gr-utils/png2rle
|
||||
B2D = ../bmp2dhr/b2d
|
||||
|
||||
all: monkey.dsk
|
||||
|
||||
@ -19,14 +21,14 @@ monkey.dsk: HELLO LOADER TITLE MONKEY
|
||||
###
|
||||
|
||||
HELLO: hello.bas
|
||||
../asoft_basic-utils/tokenize_asoft < hello.bas > HELLO
|
||||
$(TOKENIZE) < hello.bas > HELLO
|
||||
|
||||
####
|
||||
|
||||
###
|
||||
|
||||
LOADER: loader.o
|
||||
ld65 -o LOADER loader.o -C ../linker_scripts/apple2_1000.inc
|
||||
ld65 -o LOADER loader.o -C ../../linker_scripts/apple2_1000.inc
|
||||
|
||||
loader.o: loader.s
|
||||
ca65 -o loader.o loader.s -l loader.lst
|
||||
@ -34,7 +36,7 @@ loader.o: loader.s
|
||||
###
|
||||
|
||||
TITLE: title.o
|
||||
ld65 -o TITLE title.o -C ../linker_scripts/apple2_2000.inc
|
||||
ld65 -o TITLE title.o -C ../../linker_scripts/apple2_2000.inc
|
||||
|
||||
title.o: title.s \
|
||||
graphics_intro/title_graphics.inc \
|
||||
@ -47,7 +49,7 @@ title.o: title.s \
|
||||
|
||||
|
||||
MONKEY: monkey.o
|
||||
ld65 -o MONKEY monkey.o -C ../linker_scripts/apple2_2000.inc
|
||||
ld65 -o MONKEY monkey.o -C ../../linker_scripts/apple2_2000.inc
|
||||
|
||||
monkey.o: monkey.s zp.inc hardware.inc common_defines.inc \
|
||||
graphics/graphics.inc \
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include ../Makefile.inc
|
||||
|
||||
PNG2RLE = ../../gr-utils/png2rle
|
||||
PNG2GR = ../../gr-utils/png2gr
|
||||
PNG2RLE = ../../../utils/gr-utils/png2rle
|
||||
PNG2GR = ../../../utils/gr-utils/png2gr
|
||||
LZSA = ~/research/lzsa/lzsa/lzsa
|
||||
|
||||
all: graphics.inc
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include ../Makefile.inc
|
||||
|
||||
PNG2RLE = ../../gr-utils/png2rle
|
||||
PNG2GR = ../../gr-utils/png2gr
|
||||
PNG2RLE = ../../../utils/gr-utils/png2rle
|
||||
PNG2GR = ../../../utils/gr-utils/png2gr
|
||||
LZSA = ~/research/lzsa/lzsa/lzsa
|
||||
|
||||
all: title_graphics.inc
|
||||
|
@ -1,8 +1,9 @@
|
||||
include ../Makefile.inc
|
||||
include ../../Makefile.inc
|
||||
|
||||
DOS33 = ../dos33fs-utils/dos33
|
||||
PNG2RLE = ../gr-utils/png2rle
|
||||
PNG2LZ4 = ../gr-utils/png2lz4
|
||||
DOS33 = ../../utils/dos33fs-utils/dos33
|
||||
PNG2RLE = ../../utils/gr-utils/png2rle
|
||||
PNG2LZ4 = ../../utils/gr-utils/png2lz4
|
||||
TOKENIZE = ../../utils/asoft_basic-utils/tokenize_asoft
|
||||
|
||||
|
||||
all: ootw.dsk ootw_side2.dsk ootw_side3.dsk
|
||||
@ -48,7 +49,7 @@ ootw_side3.dsk: HELLO TITLE ENDING \
|
||||
####
|
||||
|
||||
OOTW_C1: ootw_c1.o
|
||||
ld65 -o OOTW_C1 ootw_c1.o -C ../linker_scripts/apple2_1700.inc
|
||||
ld65 -o OOTW_C1 ootw_c1.o -C ../../linker_scripts/apple2_1700.inc
|
||||
|
||||
ootw_c1.o: ootw_c1.s \
|
||||
gr_copy.s gr_fast_clear.s gr_pageflip.s gr_unrle.s \
|
||||
@ -79,7 +80,7 @@ ootw_c1.o: ootw_c1.s \
|
||||
####
|
||||
|
||||
OOTW_C2: ootw_c2.o
|
||||
ld65 -o OOTW_C2 ootw_c2.o -C ../linker_scripts/apple2_1700.inc
|
||||
ld65 -o OOTW_C2 ootw_c2.o -C ../../linker_scripts/apple2_1700.inc
|
||||
|
||||
ootw_c2.o: ootw_c2.s \
|
||||
gr_copy.s gr_copy_offset.s gr_fast_clear.s gr_pageflip.s gr_unrle.s \
|
||||
@ -102,7 +103,7 @@ ootw_c2.o: ootw_c2.s \
|
||||
####
|
||||
|
||||
OOTW_C3: ootw_c3.o
|
||||
ld65 -o OOTW_C3 ootw_c3.o -C ../linker_scripts/apple2_1700.inc
|
||||
ld65 -o OOTW_C3 ootw_c3.o -C ../../linker_scripts/apple2_1700.inc
|
||||
|
||||
ootw_c3.o: ootw_c3.s \
|
||||
gr_copy.s gr_copy_offset.s gr_fast_clear.s gr_pageflip.s gr_unrle.s \
|
||||
@ -116,7 +117,7 @@ ootw_c3.o: ootw_c3.s \
|
||||
###
|
||||
|
||||
OOTW_C4: ootw_c4.o
|
||||
ld65 -o OOTW_C4 ootw_c4.o -C ../linker_scripts/apple2_1700.inc
|
||||
ld65 -o OOTW_C4 ootw_c4.o -C ../../linker_scripts/apple2_1700.inc
|
||||
|
||||
ootw_c4.o: ootw_c4.s \
|
||||
gr_copy.s gr_twoscreen_scroll.s gr_fast_clear.s gr_pageflip.s \
|
||||
@ -133,7 +134,7 @@ ootw_c4.o: ootw_c4.s \
|
||||
###
|
||||
|
||||
OOTW_C5: ootw_c5.o
|
||||
ld65 -o OOTW_C5 ootw_c5.o -C ../linker_scripts/apple2_1700.inc
|
||||
ld65 -o OOTW_C5 ootw_c5.o -C ../../linker_scripts/apple2_1700.inc
|
||||
|
||||
ootw_c5.o: ootw_c5.s \
|
||||
gr_copy.s gr_copy_offset.s gr_fast_clear.s gr_pageflip.s gr_unrle.s \
|
||||
@ -147,7 +148,7 @@ ootw_c5.o: ootw_c5.s \
|
||||
###
|
||||
|
||||
OOTW_C6: ootw_c6.o
|
||||
ld65 -o OOTW_C6 ootw_c6.o -C ../linker_scripts/apple2_1700.inc
|
||||
ld65 -o OOTW_C6 ootw_c6.o -C ../../linker_scripts/apple2_1700.inc
|
||||
|
||||
ootw_c6.o: ootw_c6.s \
|
||||
gr_copy.s gr_copy_offset.s gr_fast_clear.s gr_pageflip.s gr_unrle.s \
|
||||
@ -160,7 +161,7 @@ ootw_c6.o: ootw_c6.s \
|
||||
###
|
||||
|
||||
OOTW_C7: ootw_c7.o
|
||||
ld65 -o OOTW_C7 ootw_c7.o -C ../linker_scripts/apple2_1700.inc
|
||||
ld65 -o OOTW_C7 ootw_c7.o -C ../../linker_scripts/apple2_1700.inc
|
||||
|
||||
ootw_c7.o: ootw_c7.s \
|
||||
gr_copy.s gr_copy_offset.s gr_fast_clear.s gr_pageflip.s gr_unrle.s \
|
||||
@ -173,7 +174,7 @@ ootw_c7.o: ootw_c7.s \
|
||||
###
|
||||
|
||||
OOTW_C8: ootw_c8.o
|
||||
ld65 -o OOTW_C8 ootw_c8.o -C ../linker_scripts/apple2_1700.inc
|
||||
ld65 -o OOTW_C8 ootw_c8.o -C ../../linker_scripts/apple2_1700.inc
|
||||
|
||||
ootw_c8.o: ootw_c8.s \
|
||||
gr_copy.s gr_copy_offset.s gr_fast_clear.s gr_pageflip.s gr_unrle.s \
|
||||
@ -187,7 +188,7 @@ ootw_c8.o: ootw_c8.s \
|
||||
###
|
||||
|
||||
OOTW_C9: ootw_c9.o
|
||||
ld65 -o OOTW_C9 ootw_c9.o -C ../linker_scripts/apple2_1700.inc
|
||||
ld65 -o OOTW_C9 ootw_c9.o -C ../../linker_scripts/apple2_1700.inc
|
||||
|
||||
ootw_c9.o: ootw_c9.s \
|
||||
gr_copy.s gr_copy_offset.s gr_fast_clear.s gr_pageflip.s gr_unrle.s \
|
||||
@ -201,7 +202,7 @@ ootw_c9.o: ootw_c9.s \
|
||||
###
|
||||
|
||||
OOTW_C10: ootw_c10.o
|
||||
ld65 -o OOTW_C10 ootw_c10.o -C ../linker_scripts/apple2_1700.inc
|
||||
ld65 -o OOTW_C10 ootw_c10.o -C ../../linker_scripts/apple2_1700.inc
|
||||
|
||||
ootw_c10.o: ootw_c10.s \
|
||||
gr_copy.s gr_copy_offset.s gr_fast_clear.s gr_pageflip.s gr_unrle.s \
|
||||
@ -215,7 +216,7 @@ ootw_c10.o: ootw_c10.s \
|
||||
###
|
||||
|
||||
OOTW_C11: ootw_c11.o
|
||||
ld65 -o OOTW_C11 ootw_c11.o -C ../linker_scripts/apple2_1700.inc
|
||||
ld65 -o OOTW_C11 ootw_c11.o -C ../../linker_scripts/apple2_1700.inc
|
||||
|
||||
ootw_c11.o: ootw_c11.s \
|
||||
gr_copy.s gr_copy_offset.s gr_fast_clear.s gr_pageflip.s gr_unrle.s \
|
||||
@ -229,7 +230,7 @@ ootw_c11.o: ootw_c11.s \
|
||||
###
|
||||
|
||||
OOTW_C12: ootw_c12.o
|
||||
ld65 -o OOTW_C12 ootw_c12.o -C ../linker_scripts/apple2_1700.inc
|
||||
ld65 -o OOTW_C12 ootw_c12.o -C ../../linker_scripts/apple2_1700.inc
|
||||
|
||||
ootw_c12.o: ootw_c12.s \
|
||||
gr_copy.s gr_copy_offset.s gr_fast_clear.s gr_pageflip.s gr_unrle.s \
|
||||
@ -243,7 +244,7 @@ ootw_c12.o: ootw_c12.s \
|
||||
###
|
||||
|
||||
OOTW_C13: ootw_c13.o
|
||||
ld65 -o OOTW_C13 ootw_c13.o -C ../linker_scripts/apple2_1700.inc
|
||||
ld65 -o OOTW_C13 ootw_c13.o -C ../../linker_scripts/apple2_1700.inc
|
||||
|
||||
ootw_c13.o: ootw_c13.s \
|
||||
gr_copy.s gr_copy_offset.s gr_fast_clear.s gr_pageflip.s gr_unrle.s \
|
||||
@ -260,7 +261,7 @@ ootw_c13.o: ootw_c13.s \
|
||||
###
|
||||
|
||||
OOTW_C14: ootw_c14.o
|
||||
ld65 -o OOTW_C14 ootw_c14.o -C ../linker_scripts/apple2_1700.inc
|
||||
ld65 -o OOTW_C14 ootw_c14.o -C ../../linker_scripts/apple2_1700.inc
|
||||
|
||||
ootw_c14.o: ootw_c14.s \
|
||||
gr_copy.s gr_copy_offset.s gr_fast_clear.s gr_pageflip.s gr_unrle.s \
|
||||
@ -274,7 +275,7 @@ ootw_c14.o: ootw_c14.s \
|
||||
###
|
||||
|
||||
OOTW_C15: ootw_c15.o
|
||||
ld65 -o OOTW_C15 ootw_c15.o -C ../linker_scripts/apple2_1700.inc
|
||||
ld65 -o OOTW_C15 ootw_c15.o -C ../../linker_scripts/apple2_1700.inc
|
||||
|
||||
ootw_c15.o: ootw_c15.s \
|
||||
gr_copy.s gr_copy_offset.s gr_fast_clear.s gr_pageflip.s gr_unrle.s \
|
||||
@ -296,7 +297,7 @@ ootw_c15.o: ootw_c15.s \
|
||||
####
|
||||
|
||||
AUDIO_TEST: audio.o
|
||||
ld65 -o AUDIO_TEST audio.o -C ../linker_scripts/apple2_1700.inc
|
||||
ld65 -o AUDIO_TEST audio.o -C ../../linker_scripts/apple2_1700.inc
|
||||
|
||||
audio.o: audio.s
|
||||
ca65 -o audio.o audio.s -l audio.lst
|
||||
@ -305,7 +306,7 @@ audio.o: audio.s
|
||||
####
|
||||
|
||||
INTRO: intro.o
|
||||
ld65 -o INTRO intro.o -C ../linker_scripts/apple2_1700_9000.inc
|
||||
ld65 -o INTRO intro.o -C ../../linker_scripts/apple2_1700_9000.inc
|
||||
|
||||
intro.o: intro.s \
|
||||
gr_copy.s gr_fast_clear.s gr_pageflip.s gr_unrle.s gr_putsprite.s \
|
||||
@ -352,7 +353,7 @@ intro_data_01.lz4: intro_data_01
|
||||
truncate -s-8 intro_data_01.lz4
|
||||
|
||||
intro_data_01: intro_data_01.o
|
||||
ld65 -o intro_data_01 intro_data_01.o -C ../linker_scripts/apple2_9000.inc
|
||||
ld65 -o intro_data_01 intro_data_01.o -C ../../linker_scripts/apple2_9000.inc
|
||||
|
||||
intro_data_01.o: intro_data_01.s
|
||||
ca65 -o intro_data_01.o intro_data_01.s -l intro_data_01.lst
|
||||
@ -363,7 +364,7 @@ intro_data_04.lz4: intro_data_04
|
||||
truncate -s-8 intro_data_04.lz4
|
||||
|
||||
intro_data_04: intro_data_04.o
|
||||
ld65 -o intro_data_04 intro_data_04.o -C ../linker_scripts/apple2_9000.inc
|
||||
ld65 -o intro_data_04 intro_data_04.o -C ../../linker_scripts/apple2_9000.inc
|
||||
|
||||
intro_data_04.o: intro_data_04.s
|
||||
ca65 -o intro_data_04.o intro_data_04.s -l intro_data_04.lst
|
||||
@ -374,7 +375,7 @@ intro_data_06.lz4: intro_data_06
|
||||
truncate -s-8 intro_data_06.lz4
|
||||
|
||||
intro_data_06: intro_data_06.o
|
||||
ld65 -o intro_data_06 intro_data_06.o -C ../linker_scripts/apple2_9000.inc
|
||||
ld65 -o intro_data_06 intro_data_06.o -C ../../linker_scripts/apple2_9000.inc
|
||||
|
||||
intro_data_06.o: intro_data_06.s
|
||||
ca65 -o intro_data_06.o intro_data_06.s -l intro_data_06.lst
|
||||
@ -385,7 +386,7 @@ intro_data_08.lz4: intro_data_08
|
||||
truncate -s-8 intro_data_08.lz4
|
||||
|
||||
intro_data_08: intro_data_08.o
|
||||
ld65 -o intro_data_08 intro_data_08.o -C ../linker_scripts/apple2_9000.inc
|
||||
ld65 -o intro_data_08 intro_data_08.o -C ../../linker_scripts/apple2_9000.inc
|
||||
|
||||
intro_data_08.o: intro_data_08.s
|
||||
ca65 -o intro_data_08.o intro_data_08.s -l intro_data_08.lst
|
||||
@ -396,7 +397,7 @@ intro_data_09.lz4: intro_data_09
|
||||
truncate -s-8 intro_data_09.lz4
|
||||
|
||||
intro_data_09: intro_data_09.o
|
||||
ld65 -o intro_data_09 intro_data_09.o -C ../linker_scripts/apple2_9000.inc
|
||||
ld65 -o intro_data_09 intro_data_09.o -C ../../linker_scripts/apple2_9000.inc
|
||||
|
||||
intro_data_09.o: intro_data_09.s
|
||||
ca65 -o intro_data_09.o intro_data_09.s -l intro_data_09.lst
|
||||
@ -407,7 +408,7 @@ intro_data_09.o: intro_data_09.s
|
||||
####
|
||||
|
||||
LOADER: loader.o
|
||||
ld65 -o LOADER loader.o -C ../linker_scripts/apple2_1400.inc
|
||||
ld65 -o LOADER loader.o -C ../../linker_scripts/apple2_1400.inc
|
||||
|
||||
loader.o: loader.s
|
||||
ca65 -o loader.o loader.s -l loader.lst
|
||||
@ -415,7 +416,7 @@ loader.o: loader.s
|
||||
####
|
||||
|
||||
LOADER2: loader2.o
|
||||
ld65 -o LOADER2 loader2.o -C ../linker_scripts/apple2_1400.inc
|
||||
ld65 -o LOADER2 loader2.o -C ../../linker_scripts/apple2_1400.inc
|
||||
|
||||
loader2.o: loader2.s
|
||||
ca65 -o loader2.o loader2.s -l loader2.lst
|
||||
@ -423,7 +424,7 @@ loader2.o: loader2.s
|
||||
####
|
||||
|
||||
TITLE: title.o
|
||||
ld65 -o TITLE title.o -C ../linker_scripts/apple2_d00.inc
|
||||
ld65 -o TITLE title.o -C ../../linker_scripts/apple2_d00.inc
|
||||
|
||||
title.o: title.s loader.s
|
||||
ca65 -o title.o title.s -l title.lst
|
||||
@ -434,19 +435,19 @@ title.o: title.s loader.s
|
||||
|
||||
|
||||
HELLO: hello.bas
|
||||
../asoft_basic-utils/tokenize_asoft < hello.bas > HELLO
|
||||
$(TOKENIZE) < hello.bas > HELLO
|
||||
|
||||
####
|
||||
|
||||
|
||||
HELLO2: hello2.bas
|
||||
../asoft_basic-utils/tokenize_asoft < hello2.bas > HELLO2
|
||||
$(TOKENIZE) < hello2.bas > HELLO2
|
||||
|
||||
|
||||
#####
|
||||
|
||||
ENDING: ending.o
|
||||
ld65 -o ENDING ending.o -C ../linker_scripts/apple2_1700.inc
|
||||
ld65 -o ENDING ending.o -C ../../linker_scripts/apple2_1700.inc
|
||||
|
||||
ending.o: ending.s \
|
||||
pt3_lib_core.s pt3_lib_init.s pt3_lib_mockingboard_detect.s \
|
||||
@ -462,7 +463,7 @@ compress_test.inc: intro_graphics/07_soda/drinking01.png
|
||||
$(PNG2LZ4) asm intro_graphics/07_soda/drinking01.png test_lz4 >> compress_test.inc
|
||||
|
||||
COMPRESS-TEST: compress_test.o
|
||||
ld65 -o COMPRESS-TEST compress_test.o -C ../linker_scripts/apple2_2000.inc
|
||||
ld65 -o COMPRESS-TEST compress_test.o -C ../../linker_scripts/apple2_2000.inc
|
||||
|
||||
compress_test.o: compress_test.s lz4_decode.s compress_test.inc
|
||||
ca65 -o compress_test.o compress_test.s -l compress_test.lst
|
||||
|
@ -1,8 +1,9 @@
|
||||
include ../Makefile.inc
|
||||
include ../../Makefile.inc
|
||||
|
||||
DOS33 = ../dos33fs-utils/dos33
|
||||
PNG_TO_40x48D = ../gr-utils/png_to_40x48d
|
||||
B2D = ../bmp2dhr/b2d
|
||||
DOS33 = ../../utils/dos33fs-utils/dos33
|
||||
PNG_TO_40x48D = ../../utils/gr-utils/png_to_40x48d
|
||||
B2D = ../../utils/bmp2dhr/b2d
|
||||
TOKENIZE = ../../utils/asoft_basic-utils/tokenize_asoft
|
||||
|
||||
all: space_bars.dsk
|
||||
|
||||
@ -14,7 +15,7 @@ space_bars.dsk: SPACE_BARS HELLO
|
||||
####
|
||||
|
||||
SPACE_BARS: space_bars.o
|
||||
ld65 -o SPACE_BARS space_bars.o -C ../linker_scripts/apple2_4000.inc
|
||||
ld65 -o SPACE_BARS space_bars.o -C ../../linker_scripts/apple2_4000.inc
|
||||
|
||||
space_bars.o: space_bars.s instructions.s \
|
||||
level3_earth.s level6_saturn.s \
|
||||
|
5
games/space_bars/README
Normal file
5
games/space_bars/README
Normal file
@ -0,0 +1,5 @@
|
||||
proof of concept of a game that uses vapor-lock/cycle counting
|
||||
to have mid-screen mode switches
|
||||
|
||||
this is hard to do
|
||||
|
134
games/tb_6502/Changelog
Normal file
134
games/tb_6502/Changelog
Normal file
@ -0,0 +1,134 @@
|
||||
8 April 2003
|
||||
+ Got simple hello world to compile and run when entered in hex
|
||||
by hand [ od -t x1 hello ] into apple emulator.
|
||||
+ start work on add-file-to-disk-image program
|
||||
|
||||
10 April 2003
|
||||
+ Add to disk program now lets you add arbitrary files to a disk image.
|
||||
+ Hello World program now works from "BRUN TB_6502"
|
||||
|
||||
11 April 2003
|
||||
+ Move from default Apple start addy of $800 to $c00 so we can
|
||||
use low-res page flipping (page1 is from $800-$bff)
|
||||
+ Got print_text_xy routine working
|
||||
+ Got blit working! VMW opening screen now comes up!
|
||||
|
||||
14 April 2003
|
||||
+ RLE compress the sprites
|
||||
+ get title screen displaying after figuring out minor problem
|
||||
[was > 256 bytes]
|
||||
|
||||
15 April 2003
|
||||
+ Add support for in-line x and y on put_text_xy
|
||||
|
||||
16 April 2003
|
||||
+ Worked on dos3.3 utils rather than any useful menu stuff
|
||||
|
||||
9 May 2003
|
||||
+ Have menu partially working, plus the about and phobos sprites loading
|
||||
|
||||
15 May 2003
|
||||
+ Have "ABOUT" running the way I like, and not as cluttered as it was.
|
||||
|
||||
28 May 2003
|
||||
+ Fix up printxy to correctly wrap at 8-byte boundary
|
||||
+ have the story output text set up correctly.
|
||||
+ add a "clear_bottom_ function.
|
||||
|
||||
1 June 2003
|
||||
+ Story works
|
||||
+ Spent 3 hours figuring out why put_text_xy have sporadic problem.
|
||||
Stupid 6502 and no-16-bit addition. So very tired...
|
||||
|
||||
12 June 2003
|
||||
+ Add arrow key support
|
||||
+ Faster clear-screen
|
||||
|
||||
13 June 2003
|
||||
+ Fix arrow keys being backwards, add escape key support
|
||||
|
||||
21 June 2003
|
||||
+ Get normal TB left/right support, and clipping.
|
||||
+ Add missile support
|
||||
+ Fix various minor bugs.
|
||||
+ Set up page flipping. Make clear_screen, clear_bottom, and blit
|
||||
handle this properly
|
||||
+ Get preliminary shields/level/score indicator working
|
||||
+ (yes my gf was out of town, how can you guess)
|
||||
|
||||
|
||||
11 July 2003
|
||||
+ Got an enemy to appear in upper left
|
||||
|
||||
14 July 2003
|
||||
+ Enemy moving back and forth, but major heisenbug. Why, why, why?
|
||||
|
||||
15 July 2003
|
||||
+ Not heisenbug at all. Was running the move-enemy routine when
|
||||
no enemy.out. Glad I didn't post on usenet asking why my code
|
||||
was broken!
|
||||
|
||||
16 July 2003
|
||||
+ Minimal y movement implemented
|
||||
|
||||
17 July 2003
|
||||
+ Added random number generator
|
||||
|
||||
18 July 2003
|
||||
+ Re structure enemy handling code to do a copy to zero page first,
|
||||
thus streamlining things
|
||||
+ Have missile <-> enemy collision detection working
|
||||
+ Have minimal score keeping working
|
||||
+ Have minimal enemy spawning working
|
||||
+ (Yes gf was out on work related business, how did you guess)
|
||||
|
||||
29 August 2003
|
||||
+ Long delay due to move to Ithaca
|
||||
+ Annoying work getting 16-bit BCD printing to work. Harder than
|
||||
it looks!
|
||||
|
||||
30 August 2003
|
||||
+ Implement Proper Collision detection
|
||||
+ Enemies can actually damage you
|
||||
+ Explosions no longer move
|
||||
+ Have "GAME OVER" print when you die
|
||||
|
||||
7 September 2003
|
||||
+ Have it print "Level 1" at start of level
|
||||
|
||||
27 September 2003
|
||||
+ HUGELY busy with grad school. Trying to get this
|
||||
done for minigames competition
|
||||
|
||||
28 September 2003
|
||||
+ Actual varied levels working. Trying to adjust speed for playability.
|
||||
+ Added two more enemies, as having 8 is easier to do with mask instructions
|
||||
;)
|
||||
+ Attempting to add Boss.
|
||||
+ Added shield increment every 100 points
|
||||
+ S now toggles sound
|
||||
+ P now pauses
|
||||
+ While waiting for keypress, random number gen seeded
|
||||
+ Updated timinings. yae is too slow :( am trusting
|
||||
xapple2 as it seems to play most other games properly.
|
||||
Should fire up my _real_ IIe.
|
||||
|
||||
11 July 2004
|
||||
+ Finally got around to uploading on my real IIe.
|
||||
Subjective delay timing, seems to work.
|
||||
+ Boss seems to act irregularly?
|
||||
|
||||
13 July 2004
|
||||
+ Scrolling stars implemented.
|
||||
|
||||
18 July 2004
|
||||
+ "Ending" for end of level 1 ported over.
|
||||
+ Bonuses added
|
||||
+ Hi-score (though not to disk) implemented
|
||||
+ Final balancing on my Apple IIe Platinum
|
||||
+ Fix some minor bugs
|
||||
+ Fixed bug where unitialized memory was causing star scrolling to mess up
|
||||
+ Bumped version number to 1.0
|
||||
|
||||
24 July 2004
|
||||
+ Added sort-of-working paddle/joystick code.
|
233
games/tb_6502/FAQ.tb_6502
Normal file
233
games/tb_6502/FAQ.tb_6502
Normal file
@ -0,0 +1,233 @@
|
||||
FAQ. Some questions shamelessly stolen from the tb_asm FAQ
|
||||
|
||||
|
||||
Q. Why?
|
||||
|
||||
A. My friend <A href="http://www.deater.net/john">John</A> got a Gameboy
|
||||
Advance for Christmas. He suggested I port my game
|
||||
<A href="http://www.deater.net/weave/vmwprod/tb1">Tom Bombem</A> to it.
|
||||
|
||||
In actuality the specs of the GBA are similar to the machine I
|
||||
originally wrote TB1 on. It was on a 386-33 with 320x200x256 graphics
|
||||
and constrained to 640kB of RAM. The game was written in 16-bit
|
||||
PASCAL with some 32-bit assembly.
|
||||
|
||||
I somehow got side-tracked into an 8k Linux x86 text-mode version first,
|
||||
and then it seemed obvious to port it to the 6502. Finally the disks
|
||||
full of poorly written way-to-slow BASIC space games I wrote when
|
||||
I was in elementary school have been vindicated!
|
||||
|
||||
|
||||
Q. The game runs too fast/too slow! It is unplayable!
|
||||
|
||||
A. The game has been balanced and tested on an actual Apple IIe platinum.
|
||||
If you are running on an emulator, your emulator probably isn't
|
||||
emulating 100% accurately.
|
||||
If you are on a real Apple IIe... well it's probably my fault.
|
||||
If you're clever you can find the timing code in the source
|
||||
and fix it yourself.
|
||||
|
||||
|
||||
|
||||
Q. Why did it take you so long to finish?
|
||||
|
||||
A. I originally rushed to get this game entered in the 2003 Minigames
|
||||
Competition in the 4k game section. I had to cut down on the
|
||||
features a lot to get it to fit in 4k.
|
||||
|
||||
Despite all this work, I finished 53rd or so. Most of the
|
||||
complaints were negative because there aren't that many good Apple ][
|
||||
emulators out there, but a highlight was the infamous "blocky graphics"
|
||||
comment by the Atari 2600 programmer.
|
||||
|
||||
Anyway this experience burned me out on the whole concept for a bit,
|
||||
plus I started grad school which sucked up most of my time.
|
||||
|
||||
But anyway I got a chance to finish it this summer.
|
||||
|
||||
|
||||
Q. How did you do the graphics?
|
||||
|
||||
A. With <A href="http://www.thegimp.org">The Gimp</A>. Used 16 color indexed
|
||||
palette. Saved as xpm. Edited with text editor.
|
||||
|
||||
|
||||
|
||||
Q. Why LOW-RES graphics mode?
|
||||
|
||||
A. Because I like 16 colors. High-res on the Apple ][ really isn't all
|
||||
that great and can only do 4 colors or so with weird placement rules.
|
||||
|
||||
And all of you people with Atari 800s and Commodore's feel free to laugh.
|
||||
But my code here will run in full 16 color mode even on the Original
|
||||
Apple ][ released in 1977.
|
||||
|
||||
In any case I like blocky graphics, probably dating to my time doing
|
||||
ANSI graphics for BBS's in the early 90s.
|
||||
|
||||
And don't think low-res mode was a cheating way out. The Apple ][
|
||||
framebuffer is _horribly_ convoluted and non-linear. Apparently
|
||||
this saved some chips on the memory refresh... but man is it a pain
|
||||
to program.
|
||||
|
||||
|
||||
Q. Why is all the text in this game SHOUTING AT ME?
|
||||
|
||||
A. For extra perversity, I want the game to work on all machines
|
||||
back to the original 1977 Apple ][. Lower-case letters were an
|
||||
optional add-on until the Apple //e came out much later.
|
||||
|
||||
|
||||
|
||||
Q. What is the high score?
|
||||
|
||||
A. A bit of a silly question as its impossible to prove.
|
||||
|
||||
The highest _possible_ score is 9999 I am pretty sure, due
|
||||
to the limitations of a 16 bit BCD number (which is how the
|
||||
score is stored).
|
||||
|
||||
|
||||
Q. Why does the ship have its engines constantly on, even though
|
||||
it is moving at a constant velocity?
|
||||
|
||||
A. Ummmm... friction. Yeah... space friction.
|
||||
|
||||
|
||||
|
||||
Q. Why are the stars moving so quickly? Are you going faster than light?
|
||||
|
||||
A. If you look closely you'll notice the stars repeat. Hence you
|
||||
are really flying very fast in a big circle. Hey, maybe that's
|
||||
why the engine is constantly firing!
|
||||
|
||||
|
||||
|
||||
Q. Where in that tiny ship are all of those missiles stored?
|
||||
|
||||
A. In the seventh dimension.
|
||||
|
||||
|
||||
Q. Why the seventh dimension?
|
||||
|
||||
A. The others were all full.
|
||||
|
||||
|
||||
Q. Why is there a guinea pig in the game?
|
||||
|
||||
A. A local guinea pig threatened me with violence if I did not include
|
||||
a picture of her.
|
||||
|
||||
|
||||
Q. What have you learned from all this assembly programming?
|
||||
|
||||
A. I'm just reminded what Professor Bruce Jacob always said...
|
||||
A computer is just a state machine.
|
||||
|
||||
|
||||
|
||||
Q. Why are there only 6 enemies / 2 missiles / shields go up at 100/ etc?
|
||||
|
||||
A. Game balance. Just trying to keep it challenging yet not overwhlmingly
|
||||
so. [For the original tb1 it was "because my 386 can't keep up" but
|
||||
that should be less of a problem these days].
|
||||
|
||||
If you _must_ have it some other way, feel free to mess with the constants
|
||||
on the first page of the tb_6502.s file, but I cannot guarantee what
|
||||
the consequences might be!
|
||||
|
||||
|
||||
Q. Will there be a sequel?
|
||||
|
||||
A. Yes, it will be released shortly before either the release of
|
||||
"Duke Nukem Forever (tm)" or the heat death of the universe,
|
||||
which ever happens first.
|
||||
|
||||
|
||||
Q. Why can't Vince stay consitent between "HISCORE" and "HIGH SCORE"
|
||||
including all possibly variations of "HI-SCORE" "HIGH_SCORE" usw?
|
||||
|
||||
A. The world may never know.
|
||||
|
||||
|
||||
Q. What does "usw" mean?
|
||||
|
||||
A. Und So Weiter.
|
||||
|
||||
|
||||
Q. That wasn't helpful.
|
||||
|
||||
A. This isn't a question.
|
||||
|
||||
|
||||
Q. What's the highest level you can get to?
|
||||
|
||||
A. No matter how you try, once you get to level 7 it will
|
||||
keep repeating. This is because I multiply the level
|
||||
by 16 in various places for enemy movement, and it it goes
|
||||
above 7 then the byte will be negative causing
|
||||
Bad Things(tm) to happen.
|
||||
|
||||
|
||||
Q. Well why don't you modify the code so it doesn't go haywire
|
||||
after level 7?
|
||||
|
||||
A. I am lazy. Also it should be too hard to get to level 7 anyway
|
||||
|
||||
|
||||
Q. What are the enemies supposed to be?
|
||||
|
||||
A. An envelope, a clip-board, a cigarette, a telephone, a dollar-bill,
|
||||
and an un-identified yellow thing, possibly a banana. All things
|
||||
malicious marketers might have in excess.
|
||||
The apple II version has in addition a green toothbrush and a
|
||||
purple toupe. Those wacky marketers!
|
||||
|
||||
Q. How come the stars appear in straight bands insteas of scattered in the
|
||||
sky?
|
||||
|
||||
A. Because my pseudo-random number algorithm is at times more pseudo
|
||||
than random.
|
||||
|
||||
|
||||
Q. Why does vince use the stack so often, when it would make much more
|
||||
sense to backup the Y register to the zero page?
|
||||
|
||||
A. Too much intel x86 programming has warped my mind into thinking
|
||||
stack usage is a good way of mitigating limited register count.
|
||||
|
||||
Must remind myself the zero page is like a 256-byte register file.
|
||||
|
||||
|
||||
|
||||
Q. Why is the 6502 instruction set so obtuse?
|
||||
|
||||
A. I HAVE NO IDEA. In coding I keep stumbling across instructions
|
||||
that I think would be _so_ useful. But they don't exist. But
|
||||
apparently the instructions I pine for are fairly obvious...
|
||||
an enhanced 65C02 was released with "bonus" opcodes. Sadly
|
||||
I cannot use them because of the aforementioned want of Apple ][
|
||||
compatibility [the 65C02 wasn't around until the //e.
|
||||
|
||||
ABS (IND), X indexing : would be great working with structs.
|
||||
BRA -- Branch Always : a great opcode name, but also remove
|
||||
the need for 16-bit absolute JMP's when
|
||||
a short branch would do
|
||||
DEA -- Decrement Accumulator :
|
||||
That's right, there's no way to decrement
|
||||
the accumulator. You have to CLC clear
|
||||
carry then ADC $FF. Yet you can dec
|
||||
X or Y with one-byte. Weird.
|
||||
INA -- Incrememnt Accumlator:
|
||||
See DEA. Yes, even more perverse. Taking
|
||||
3 bytes to do what should be a common task.
|
||||
PHX/PLX
|
||||
PHY/PLY -- Push/Pop X/Y :
|
||||
These would be so useful. Otherwise
|
||||
you can only push/pop the accumulator.
|
||||
STZ -- Store Zero to Memory :
|
||||
Would save a lot of LDA #$0 / STA pairs.
|
||||
TRB/TSB -- Test and Set/Reset bit:
|
||||
Wow, getting even more CISC here. Atomic
|
||||
test/set bit instructions. We're ready
|
||||
for SMP now.
|
21
games/tb_6502/Makefile
Normal file
21
games/tb_6502/Makefile
Normal file
@ -0,0 +1,21 @@
|
||||
include ../../Makefile.inc
|
||||
|
||||
DOS33 = ../../utils/dos33fs-utils/dos33
|
||||
TOKENIZE = ../../utils/asoft_basic-utils/tokenize_asoft
|
||||
|
||||
all: tb_6502.dsk
|
||||
|
||||
tb_6502.dsk: TB_6502
|
||||
$(DOS33) -y tb_6502.dsk BSAVE -a 0x0C00 TB_6502
|
||||
|
||||
#TB_6502: tb_6502
|
||||
# make_b ./tb_6502 ./TB_6502 0xC00
|
||||
|
||||
TB_6502: tb_6502.o
|
||||
ld65 -o TB_6502 tb_6502.o -C ./apple2_c00.inc
|
||||
|
||||
tb_6502.o: tb_6502.s
|
||||
ca65 -o tb_6502.o tb_6502.s -l tb_6502.lst
|
||||
|
||||
clean:
|
||||
rm -f *.lst *.o tb_6502 *~ add_to_disk TB_6502 a.out
|
130
games/tb_6502/README.tb_6502
Normal file
130
games/tb_6502/README.tb_6502
Normal file
@ -0,0 +1,130 @@
|
||||
TOM BOMBEM: Merciless Marauding Malicious Marketers
|
||||
6502 Apple IIe Edition
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
http://www.deater.net/weave/vmwprod/tb1/tb_6502.html
|
||||
|
||||
by Vince Weaver <vince@deater.net>
|
||||
|
||||
version 1.1 -- 24 July 2004
|
||||
|
||||
|
||||
Quotes about tb_6502:
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
"The graphics are crude and blocky."
|
||||
-- random Atari 2600 developer
|
||||
|
||||
|
||||
System Requirements:
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
Apple ][ Computer
|
||||
At least 32kB of RAM
|
||||
Disk drive, or Super Serial Card to load game
|
||||
|
||||
|
||||
Background:
|
||||
~~~~~~~~~~~
|
||||
You are Tom Bombem, a shy new intern on Moonbase Alpha.
|
||||
Somewhat against your will it has become your job to
|
||||
defend Earth! See the "Story" option in the game
|
||||
for the rest of the story.
|
||||
|
||||
tb_6502 comes before "tb1: Invasion of the Inanimate Objects"
|
||||
chronologically, for those who might care.
|
||||
|
||||
|
||||
Keybindings:
|
||||
~~~~~~~~~~~
|
||||
Use arrow keys, or i,j,k,m to manuever and navigate menus.
|
||||
' ' shoots and selects.
|
||||
'h' displays help. 's' toggles sound 'p' pauses
|
||||
|
||||
Options/Hiscore File:
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
not implemented yet
|
||||
|
||||
Game Play:
|
||||
~~~~~~~~~~
|
||||
Manuever your ship avoiding the falling objects. Shoot them.
|
||||
|
||||
Only 2 missiles can be in the air at the time [this is _not_ a bug.
|
||||
it's a limit of your ship's missile guidance system].
|
||||
|
||||
Every 100 points your shields will increase.
|
||||
|
||||
There are special bonuses you can earn at the end of each level.
|
||||
|
||||
+ No Shields Hit : going through an entire level without
|
||||
having an enemy hit your ship
|
||||
+ All Enemies Destroyed : all enemies were destroyed before
|
||||
scrolling off the screen. [Note,
|
||||
ramming an enemy with your ship
|
||||
_DOES_ count as destroying it. Just
|
||||
don't let them get by you]
|
||||
+ Perfect Shot: Every missile fired hits an enemy.
|
||||
|
||||
|
||||
At the end each level you fight the boss. Then the game starts over
|
||||
with the enemies moving faster!
|
||||
|
||||
|
||||
Compiling / Running:
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
RUNNING:
|
||||
Just obtain an apple emulator. Point it to the tb_6502.dsk image.
|
||||
Upon booting it should run!
|
||||
|
||||
Also, you can get a real Apple II computer and download the disk
|
||||
image to a real floppy. That is a bit more complicated.
|
||||
|
||||
COMPILING:
|
||||
|
||||
The following compile instructions assume you are using Linux.
|
||||
|
||||
* first you need the c65 package from:
|
||||
http://www.cc65.org/
|
||||
|
||||
To install cc65 you need to unpack, and do a
|
||||
"make -f make/gcc.mak" from the cc65/src directory.
|
||||
|
||||
The utils we need are ca65 and ld65. Copy them somewhere in your
|
||||
path (ie /usr/local/bin).
|
||||
|
||||
* To make the disk image you will need the dos33fsprogs package
|
||||
of mine, available from:
|
||||
http://www.deater.net/weave/vmwprod/apple/dos33fs.html
|
||||
Unpack and instal. "make; make install"
|
||||
|
||||
* Now hopefully just type "make" in the tb_6502 directory and
|
||||
the program should be assembled. "make disk" should copy
|
||||
the new version to the disk image, assuming all the tools
|
||||
are installed properly.
|
||||
|
||||
|
||||
|
||||
About:
|
||||
~~~~~~
|
||||
|
||||
When I was much younger, I would type in BASIC games on the Apple II.
|
||||
I always wanted to write games myself, but the ones I wrote in BASIC
|
||||
were too slow. I was just starting to learn assembly when we got
|
||||
a 386 and I moved on to other things.
|
||||
|
||||
But now, only 25 years too late, I finally wrote a playable game!
|
||||
|
||||
The hope is maybe eventually using this as a stepping-board to
|
||||
creating a Game Boy Advance TomBombem game.
|
||||
|
||||
This game was originally written for the 4k mini-game competition.
|
||||
It finished embarassingly low in the standings. I've added some
|
||||
more features now so it is well over the 4k mark.
|
||||
|
||||
Author:
|
||||
~~~~~~~
|
||||
Vince Weaver <vince@deater.net>
|
||||
http://www.deater.net/weave/
|
||||
Special Thanks to KRG
|
||||
24 July 2004
|
||||
|
BIN
games/tb_6502/SINCOS
Normal file
BIN
games/tb_6502/SINCOS
Normal file
Binary file not shown.
3
games/tb_6502/TODO
Normal file
3
games/tb_6502/TODO
Normal file
@ -0,0 +1,3 @@
|
||||
Save high score to disk.
|
||||
|
||||
OPTIMIZE!
|
12
games/tb_6502/apple2_c00.inc
Normal file
12
games/tb_6502/apple2_c00.inc
Normal file
@ -0,0 +1,12 @@
|
||||
MEMORY {
|
||||
ZP: start = $00, size = $1A, type = rw;
|
||||
RAM: start = $C00, size = $8E00, file = %O;
|
||||
}
|
||||
|
||||
SEGMENTS {
|
||||
CODE: load = RAM, type = ro;
|
||||
RODATA: load = RAM, type = ro;
|
||||
DATA: load = RAM, type = rw;
|
||||
BSS: load = RAM, type = bss, define = yes;
|
||||
ZEROPAGE: load = ZP, type = zp;
|
||||
}
|
BIN
games/tb_6502/tb_6502.dsk
Normal file
BIN
games/tb_6502/tb_6502.dsk
Normal file
Binary file not shown.
4291
games/tb_6502/tb_6502.s
Normal file
4291
games/tb_6502/tb_6502.s
Normal file
File diff suppressed because it is too large
Load Diff
173
games/tb_6502/tools/rle_data.c
Normal file
173
games/tb_6502/tools/rle_data.c
Normal file
@ -0,0 +1,173 @@
|
||||
/* The following code is UGLY. Read at your own risk. --vmw */
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h> /* strncpy() */
|
||||
#include <ctype.h> /* isdigit() */
|
||||
#include <fcntl.h> /* open() */
|
||||
#include <unistd.h> /* close() */
|
||||
|
||||
char dos_color_to_apple[16]=
|
||||
{0, /* 0 black */
|
||||
2, /* 1 blue */
|
||||
4, /* 2 green */
|
||||
7, /* 3 cyan */
|
||||
1, /* 4 red */
|
||||
3, /* 5 purple */
|
||||
8, /* 6 brown */
|
||||
10,/* 7 l grey */
|
||||
5, /* 8 d grey */
|
||||
6, /* 9 l blue */
|
||||
12, /*10 l green */
|
||||
14, /*11 l cyan */
|
||||
9, /*12 l red */
|
||||
11, /*13 pink */
|
||||
13, /*14 yellow */
|
||||
15, /* 15 white */
|
||||
}
|
||||
;
|
||||
|
||||
int get_number(char *string, int *pointer) {
|
||||
|
||||
int temp_number;
|
||||
|
||||
|
||||
if (string[*pointer]=='0') {
|
||||
|
||||
/* Hexadecimal */
|
||||
if (string[*pointer+1]=='x') {
|
||||
(*pointer)++;
|
||||
|
||||
(*pointer)++;
|
||||
temp_number=0;
|
||||
while(isxdigit(string[*pointer])) {
|
||||
if ((string[*pointer]>='a') && (string[*pointer]<='f'))
|
||||
temp_number=16*temp_number+(10+(string[*pointer]-'a'));
|
||||
if ((string[*pointer]>='A') && (string[*pointer]<='F'))
|
||||
temp_number=16*temp_number+(10+(string[*pointer]-'A'));
|
||||
if ((string[*pointer]>='0') && (string[*pointer]<='9'))
|
||||
temp_number=16*temp_number+(string[*pointer]-'0');
|
||||
(*pointer)++;
|
||||
}
|
||||
}
|
||||
else {
|
||||
/* Octal */
|
||||
temp_number=0;
|
||||
while(isdigit(string[*pointer])) {
|
||||
temp_number=8*temp_number+(string[*pointer]-'0');
|
||||
(*pointer)++;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else {
|
||||
/* Decimal */
|
||||
temp_number=0;
|
||||
while(isdigit(string[*pointer])) {
|
||||
temp_number=10*temp_number+(string[*pointer]-'0');
|
||||
(*pointer)++;
|
||||
}
|
||||
}
|
||||
|
||||
return temp_number;
|
||||
|
||||
}
|
||||
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
|
||||
FILE *input,*output;
|
||||
|
||||
char input_filename[]="sprites";
|
||||
int pointer,temp_pointer;
|
||||
char input_line[BUFSIZ];
|
||||
char temp_string[BUFSIZ];
|
||||
int color=0,oldcolor,run;
|
||||
|
||||
input=fopen(input_filename,"r");
|
||||
if (input==NULL) goto file_error;
|
||||
|
||||
|
||||
while(1) {
|
||||
|
||||
if ( fgets(input_line,BUFSIZ,input) ==NULL) goto close_file;
|
||||
|
||||
pointer=0;
|
||||
|
||||
while(pointer<strlen(input_line)) {
|
||||
/* Comment, we are done */
|
||||
if (input_line[pointer]=='#') goto done_with_string;
|
||||
/* end of line, we are done */
|
||||
if (input_line[pointer]=='\n') goto done_with_string;
|
||||
|
||||
|
||||
|
||||
/* directive */
|
||||
if (input_line[pointer]=='.') {
|
||||
if (!strncmp("byte",input_line+pointer+1,4)) {
|
||||
pointer=5;
|
||||
|
||||
printf("\t.byte ");
|
||||
while(!isdigit(input_line[pointer])) pointer++;
|
||||
color=get_number(input_line,&pointer);
|
||||
while(!isdigit(input_line[pointer])) pointer++;
|
||||
oldcolor=color;
|
||||
run=1;
|
||||
while(pointer<strlen(input_line)) {
|
||||
color=get_number(input_line,&pointer);
|
||||
if ((color!=oldcolor) || (run>14)) {
|
||||
printf("$%X,",(run<<4)+dos_color_to_apple[oldcolor]);
|
||||
run=0;
|
||||
}
|
||||
run++;
|
||||
oldcolor=color;
|
||||
|
||||
while(!isdigit(input_line[pointer])) pointer++;
|
||||
}
|
||||
if (color!=0) {
|
||||
printf("$%X,",(run<<4)+dos_color_to_apple[color]);
|
||||
}
|
||||
|
||||
|
||||
printf("$00\n");
|
||||
goto done_with_string;
|
||||
}
|
||||
|
||||
else {
|
||||
printf("Unknown directive!\n");
|
||||
goto close_file;
|
||||
}
|
||||
|
||||
}
|
||||
/* end of label */
|
||||
if (input_line[pointer]==':') {
|
||||
|
||||
temp_pointer=pointer;
|
||||
while( (temp_pointer>0) &&
|
||||
(input_line[temp_pointer]!='\t') &&
|
||||
(input_line[temp_pointer]!=' ')) temp_pointer--;
|
||||
|
||||
strncpy(temp_string,input_line+temp_pointer,pointer-temp_pointer);
|
||||
temp_string[pointer]='\0';
|
||||
printf("\t.byte $00\n");
|
||||
printf("%s:\n",temp_string);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
pointer++;
|
||||
}
|
||||
done_with_string: ;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
close_file:
|
||||
if (input!=NULL) fclose(input);
|
||||
|
||||
file_error:
|
||||
return 0;
|
||||
}
|
26
games/tb_6502/tools/string_to_apple.c
Normal file
26
games/tb_6502/tools/string_to_apple.c
Normal file
@ -0,0 +1,26 @@
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
|
||||
char string[BUFSIZ];
|
||||
int i;
|
||||
|
||||
while(1) {
|
||||
fgets(string,BUFSIZ,stdin);
|
||||
if (feof(stdin)) goto done;
|
||||
|
||||
printf(";# %s\n",string);
|
||||
printf(".byte\t");
|
||||
|
||||
printf("$%X",string[0]+128);
|
||||
|
||||
for (i=1;i<strlen(string);i++) {
|
||||
printf(",$%X",string[i]+128);
|
||||
}
|
||||
printf("\n");
|
||||
|
||||
}
|
||||
done:
|
||||
return 0;
|
||||
}
|
35
games/tb_6502/tools/test_random.c
Normal file
35
games/tb_6502/tools/test_random.c
Normal file
@ -0,0 +1,35 @@
|
||||
#include <stdio.h>
|
||||
|
||||
int random_num(int seed)
|
||||
{
|
||||
|
||||
static int our_seed;
|
||||
|
||||
if (seed!=-1) our_seed=seed;
|
||||
|
||||
if (our_seed==0) our_seed=13;
|
||||
|
||||
our_seed<<=1;
|
||||
if (our_seed & 0x100) our_seed^=0x87;
|
||||
|
||||
our_seed&=0xff;
|
||||
|
||||
return our_seed;
|
||||
|
||||
}
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
int i;
|
||||
int frequency[256];
|
||||
for(i=0;i<256;i++) frequency[i]=0;
|
||||
|
||||
for(i=0;i<4096;i++)
|
||||
frequency[random_num(-1)]++;
|
||||
|
||||
for(i=0;i<256;i++)
|
||||
printf("%i : %i\n",i,frequency[i]);
|
||||
|
||||
|
||||
}
|
||||
|
15
games/tb_6502/tools/wait.c
Normal file
15
games/tb_6502/tools/wait.c
Normal file
@ -0,0 +1,15 @@
|
||||
#include <stdio.h>
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
|
||||
int i;
|
||||
|
||||
for(i=0;i<256;i++) {
|
||||
printf("%i = %x = %i\n",i,i,(26+27*i+5*i*i)/2);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
|
||||
|
||||
}
|
@ -1,15 +1,18 @@
|
||||
include ../Makefile.inc
|
||||
include ../../Makefile.inc
|
||||
|
||||
DOS33 = ../../utils/dos33fs-utils/dos33
|
||||
PNG2GR = ../../utils/gr-utils/png2gr
|
||||
PNG2RLE = ../../utils/gr-utils/png2rle
|
||||
|
||||
TOKENIZE = ../../utils/asoft_basic-utils/tokenize_asoft
|
||||
|
||||
DOS33 = ../dos33fs-utils/dos33
|
||||
PNG2GR = ../gr-utils/png2gr
|
||||
PNG2RLE = ../gr-utils/png2rle
|
||||
|
||||
ARTDIR = ./art
|
||||
|
||||
all: tfv.dsk
|
||||
|
||||
$(DOS33):
|
||||
cd ../dos33fs-utils && make
|
||||
cd ../../utils/dos33fs-utils && make
|
||||
|
||||
tfv.dsk: $(DOS33) HELLO LOADER TFV_TITLE TFV_FLYING TFV_WORLD
|
||||
$(DOS33) -y tfv.dsk SAVE A HELLO
|
||||
@ -21,12 +24,12 @@ tfv.dsk: $(DOS33) HELLO LOADER TFV_TITLE TFV_FLYING TFV_WORLD
|
||||
###
|
||||
|
||||
HELLO: hello.bas
|
||||
../asoft_basic-utils/tokenize_asoft < hello.bas > HELLO
|
||||
$(TOKENIZE) < hello.bas > HELLO
|
||||
|
||||
####
|
||||
|
||||
LOADER: loader.o
|
||||
ld65 -o LOADER loader.o -C ../linker_scripts/apple2_1000.inc
|
||||
ld65 -o LOADER loader.o -C ../../linker_scripts/apple2_1000.inc
|
||||
|
||||
loader.o: loader.s init_vars.s common_defines.inc
|
||||
ca65 -o loader.o loader.s -l loader.lst
|
||||
@ -34,7 +37,7 @@ loader.o: loader.s init_vars.s common_defines.inc
|
||||
###
|
||||
|
||||
TFV_TITLE: tfv_title.o
|
||||
ld65 -o TFV_TITLE tfv_title.o -C ../linker_scripts/apple2_2000.inc
|
||||
ld65 -o TFV_TITLE tfv_title.o -C ../../linker_scripts/apple2_2000.inc
|
||||
|
||||
tfv_title.o: tfv_title.s \
|
||||
gr_vlin.s tfv_opener.s \
|
||||
@ -47,7 +50,7 @@ tfv_title.o: tfv_title.s \
|
||||
###
|
||||
|
||||
TFV_FLYING: tfv_flying.o
|
||||
ld65 -o TFV_FLYING tfv_flying.o -C ../linker_scripts/apple2_2000.inc
|
||||
ld65 -o TFV_FLYING tfv_flying.o -C ../../linker_scripts/apple2_2000.inc
|
||||
|
||||
tfv_flying.o: tfv_flying.s \
|
||||
zp.inc \
|
||||
@ -59,7 +62,7 @@ tfv_flying.o: tfv_flying.s \
|
||||
###
|
||||
|
||||
TFV_WORLD: tfv_world.o
|
||||
ld65 -o TFV_WORLD tfv_world.o -C ../linker_scripts/apple2_2000.inc
|
||||
ld65 -o TFV_WORLD tfv_world.o -C ../../linker_scripts/apple2_2000.inc
|
||||
|
||||
tfv_world.o: tfv_world.s \
|
||||
tfv_overworld.s tfv_drawmap.s tfv_battle.s \
|
||||
|
@ -3,7 +3,7 @@ include ../Makefile.inc
|
||||
all:
|
||||
cd asoft_basic-utils && make
|
||||
cd asoft_presenter && make
|
||||
# cd asoft_sound && make
|
||||
cd asoft_sound && make
|
||||
# cd bmp2dhr && make
|
||||
# cd dos33fs-linux2.4 && make
|
||||
cd dos33fs-utils && make
|
||||
@ -14,7 +14,7 @@ all:
|
||||
install:
|
||||
cd asoft_basic-utils && make install
|
||||
cd asoft_presenter && make install
|
||||
# cd asoft_sound && make install
|
||||
cd asoft_sound && make install
|
||||
# cd bmp2dhr && make install
|
||||
# cd dos33fs-linux2.4 && make install
|
||||
cd dos33fs-utils && make install
|
||||
|
Loading…
x
Reference in New Issue
Block a user