mirror of https://github.com/digarok/flapple.git
The original v1.0 public release via cicd.
github sponsors file
This commit is contained in:
parent
fda6785688
commit
379413709f
|
@ -0,0 +1,2 @@
|
||||||
|
github: [digarok]
|
||||||
|
custom: ["https://paypal.me/dagenbrock"]
|
|
@ -0,0 +1,58 @@
|
||||||
|
on: [push]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
cicd_pipeline:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
name: Run assembly and disk image CICD pipeline
|
||||||
|
steps:
|
||||||
|
# CHECKOUT AND ASSEMBLE ON EVERY PUSH, ANY BRANCH
|
||||||
|
- uses: actions/checkout@v1
|
||||||
|
- name: Install Merlin
|
||||||
|
uses: digarok/install-merlin32-action@v0.1.0
|
||||||
|
|
||||||
|
- name: Assemble Source
|
||||||
|
run: |
|
||||||
|
merlin32 -V src/flapple.s
|
||||||
|
sed -i.bak "s/^MONO\(.*\)equ.*/MONO\1equ 1/g" src/flapple.s
|
||||||
|
merlin32 -V src/flapple.s
|
||||||
|
sed -i.bak "s/^MONO\(.*\)equ.*/MONO\1equ 0/g" src/flapple.s
|
||||||
|
|
||||||
|
|
||||||
|
- name: Install Cadius
|
||||||
|
uses: digarok/install-cadius-action@v0.1.0
|
||||||
|
|
||||||
|
- name: Make Bootable ProDOS Image
|
||||||
|
if: startsWith(github.ref, 'refs/tags/v')
|
||||||
|
run: ./make_po.sh
|
||||||
|
|
||||||
|
# EVERYTHING BELOW IS ONLY WHEN VERSION TAGS PUSHED (i.e. tag like "v0.1")
|
||||||
|
- name: Create Release
|
||||||
|
id: create_release
|
||||||
|
if: startsWith(github.ref, 'refs/tags/v')
|
||||||
|
uses: actions/create-release@v1
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
with:
|
||||||
|
tag_name: ${{ github.ref }}
|
||||||
|
release_name: Release ${{ github.ref }}
|
||||||
|
|
||||||
|
- name: Upload Release Asset - 140KB ProDOS Image
|
||||||
|
if: startsWith(github.ref, 'refs/tags/v')
|
||||||
|
uses: actions/upload-release-asset@v1.0.1
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
with:
|
||||||
|
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
||||||
|
asset_path: ./flapple140.po
|
||||||
|
asset_name: flapple140.po
|
||||||
|
asset_content_type: application/octet-stream
|
||||||
|
- name: Upload Release Asset - 800KB ProDOS Image
|
||||||
|
if: startsWith(github.ref, 'refs/tags/v')
|
||||||
|
uses: actions/upload-release-asset@v1.0.1
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
with:
|
||||||
|
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
||||||
|
asset_path: ./flapple800.po
|
||||||
|
asset_name: flapple800.po
|
||||||
|
asset_content_type: application/octet-stream
|
|
@ -3,3 +3,8 @@ gsport
|
||||||
config.gsport
|
config.gsport
|
||||||
gsos
|
gsos
|
||||||
src/PRODOS
|
src/PRODOS
|
||||||
|
PRODOS*
|
||||||
|
src/*_Output.txt
|
||||||
|
src/*.system
|
||||||
|
flapple800.po
|
||||||
|
flapple140.po
|
||||||
|
|
32
README.md
32
README.md
|
@ -1,18 +1,28 @@
|
||||||
flapple
|
# Flapple Bird
|
||||||
=======
|
|
||||||
|
|
||||||
Flapple Bird - A de-make of Flappy Bird for the Apple II computer
|
Flapple Bird - A de-make of Flappy Bird for the Apple II computer
|
||||||
|
|
||||||
More information about this project is available at http://dagenbrock.com/flappy
|
![Flapple Gameplay Image](/assets/flapple_gameplay.png?raw=true "Flapple Bird Gameplay Image")
|
||||||
|
|
||||||
How to run
|
# Download
|
||||||
==========
|
💾 **[Download Releases Here](https://github.com/digarok/flapple/releases)**
|
||||||
You can download either disk image and run it with an emulator or transfer it to the respective media and run it on a real machine (recommended). The 3.5" ProDOS disk version is "flapple800.po", and the 5.25" ProDOS disk version is "flapple140.po".
|
|
||||||
|
|
||||||
How to build
|
# How to run
|
||||||
============
|
You can download either disk image and run it with an emulator like [GSplus](https://github.com/digarok/gsplus) or transfer it to the respective media and run it on a real machine (recommended).
|
||||||
This is written to compile on Merlin 8/16, but I believe should work with all later Merlin variants. Load Merlin, then 'L'oad the file "flapple.s", finally hit OpenApple-A to assemble and it should build the "flap.system" file.
|
- `flapple800.po` is the 3.5" ProDOS disk version (800KB)
|
||||||
|
- `flapple140.po` is the 5.25" ProDOS disk version (140KB)
|
||||||
|
|
||||||
|
It should automatically boot ProDOS and load the color version of Flapple Bird. There is a Monochrome version of the game included on the disk. To run it, quit with the `q` key, and from the ProDOS selector menu (Bitsy-Bye in 2020) run `fmono.system`.
|
||||||
|
|
||||||
|
# How to build
|
||||||
|
This was originally written to compile on Merlin 8/16, but it's now maintained using [Merlin32](https://github.com/digarok/merlin32/).
|
||||||
|
|
||||||
|
- Classic Merlin16+ on an Apple IIgs
|
||||||
|
- Load Merlin, then `L`oad the file "flapple.s", finally hit OpenApple-A to assemble and it should build the "flap.system" file.
|
||||||
|
- Modern PC builds:
|
||||||
|
- Assemble with `merlin32 src/flapple.s`
|
||||||
|
- Make disks with `./make_po.sh`
|
||||||
|
|
||||||
|
Requires having `merlin32` and `cadius` commands available on your system.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Again, more information about this project is available at http://dagenbrock.com/flappy
|
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 11 KiB |
|
@ -0,0 +1,19 @@
|
||||||
|
#!/bin/bash
|
||||||
|
merlin32 -V . src/flapple.s
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "Assembly Failed. Exiting." ; exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
#second time with different build flags (MONO=1)
|
||||||
|
sed -i.bak "s/^MONO\(.*\)equ.*/MONO\1equ 1/g" src/flapple.s
|
||||||
|
merlin32 -V . src/flapple.s
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "Assembly Failed. Exiting." ; exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
#revert file to original state (MONO=0)
|
||||||
|
sed -i.bak "s/^MONO\(.*\)equ.*/MONO\1equ 0/g" src/flapple.s
|
||||||
|
|
||||||
|
./make_po.sh
|
||||||
|
gsplus
|
BIN
flapple140.po
BIN
flapple140.po
Binary file not shown.
BIN
flapple800.po
BIN
flapple800.po
Binary file not shown.
|
@ -82,6 +82,8 @@ done
|
||||||
echo ""
|
echo ""
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
|
# Move build log out of source dir to current dir
|
||||||
|
mv src/*Output.txt .
|
||||||
|
|
||||||
echo "Look, I'm no expert, but I think everything went pretty well. (BUILD SUCCEEDED!!!)"
|
echo "Look, I'm no expert, but I think everything went pretty well. (BUILD SUCCEEDED!!!)"
|
||||||
echo ""
|
echo ""
|
||||||
|
|
|
@ -0,0 +1,57 @@
|
||||||
|
#!/bin/bash
|
||||||
|
command -v cadius >/dev/null 2>&1 || { echo "I require CADIUS but it's not installed. Aborting." >&2; exit 1; }
|
||||||
|
|
||||||
|
|
||||||
|
SRCFILES=(`ls src/*.s`)
|
||||||
|
SYSFILES=(`ls PRODOS.2.4.2//PRODOS src/*system`)
|
||||||
|
SRCDIR=src
|
||||||
|
BLDDIR=build/
|
||||||
|
|
||||||
|
DISK="flapple"
|
||||||
|
CADIUS="cadius"
|
||||||
|
|
||||||
|
if [ ! -d $BLDDIR ] ; then
|
||||||
|
echo "Build directory for this platform doesn't exist so I will create it."
|
||||||
|
mkdir -p $BLDDIR ; echo "Created: $BLDDIR"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# need to autogen
|
||||||
|
cp src/_FileInformation.txt $BLDDIR
|
||||||
|
|
||||||
|
echo "Creating disk images"
|
||||||
|
$CADIUS createvolume ${DISK}800.po ${DISK}800 800KB >/dev/null
|
||||||
|
$CADIUS createvolume ${DISK}140.po ${DISK}140 140KB >/dev/null
|
||||||
|
|
||||||
|
#SYSTEM FILES
|
||||||
|
echo -n "Processing System files: "
|
||||||
|
COMMA=""
|
||||||
|
for f in ${SYSFILES[@]};
|
||||||
|
do
|
||||||
|
FNAME=${f##*/}
|
||||||
|
echo -n "$COMMA $FNAME"
|
||||||
|
cp $f $BLDDIR/$FNAME
|
||||||
|
$CADIUS addfile ${DISK}800.po /${DISK}800/ $BLDDIR/$FNAME >/dev/null
|
||||||
|
$CADIUS addfile ${DISK}140.po /${DISK}140/ $BLDDIR/$FNAME >/dev/null
|
||||||
|
COMMA=","
|
||||||
|
done
|
||||||
|
|
||||||
|
#SOURCE FILES
|
||||||
|
echo ""
|
||||||
|
echo -n "Processing Source files: "
|
||||||
|
COMMA=""
|
||||||
|
for f in ${SRCFILES[@]};
|
||||||
|
do
|
||||||
|
FNAME=${f##*/}
|
||||||
|
echo -n "$COMMA $FNAME"
|
||||||
|
cp $f $BLDDIR/$FNAME
|
||||||
|
echo "$FNAME=Type(04),AuxType(0000),VersionCreate(24),MinVersion(00),Access(E3)" > $BLDDIR/_FileInformation.txt
|
||||||
|
$CADIUS sethighbit $BLDDIR/$FNAME >/dev/null
|
||||||
|
$CADIUS addfile ${DISK}800.po /${DISK}800/ $BLDDIR/$FNAME >/dev/null
|
||||||
|
$CADIUS addfile ${DISK}140.po /${DISK}140/ $BLDDIR/$FNAME >/dev/null
|
||||||
|
COMMA=","
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
echo "Look, I'm no expert, but I think everything went pretty well. (BUILD SUCCEEDED!!!)"
|
||||||
|
echo ""
|
||||||
|
exit
|
|
@ -1,5 +1,3 @@
|
||||||
PRODOS=Type(FF),AuxType(0000),VersionCreate(70),MinVersion(BE),Access(E3),FolderInfo1(000000000000000000000000000000000000),FolderInfo2(000000000000000000000000000000000000)
|
PRODOS=Type(FF),AuxType(0000),VersionCreate(70),MinVersion(BE),Access(E3),FolderInfo1(000000000000000000000000000000000000),FolderInfo2(000000000000000000000000000000000000)
|
||||||
flap.system=Type(FF),AuxType(0000),VersionCreate(70),MinVersion(BE),Access(E3),FolderInfo1(000000000000000000000000000000000000),FolderInfo2(000000000000000000000000000000000000)
|
flap.system=Type(FF),AuxType(0000),VersionCreate(70),MinVersion(BE),Access(E3),FolderInfo1(000000000000000000000000000000000000),FolderInfo2(000000000000000000000000000000000000)
|
||||||
fmono.system=Type(FF),AuxType(0000),VersionCreate(70),MinVersion(BE),Access(E3),FolderInfo1(000000000000000000000000000000000000),FolderInfo2(000000000000000000000000000000000000)
|
fmono.system=Type(FF),AuxType(0000),VersionCreate(70),MinVersion(BE),Access(E3),FolderInfo1(000000000000000000000000000000000000),FolderInfo2(000000000000000000000000000000000000)
|
||||||
flap=Type(00),AuxType(0000),VersionCreate(70),MinVersion(BE),Access(E3),FolderInfo1(000000000000000000000000000000000000),FolderInfo2(000000000000000000000000000000000000)
|
|
||||||
fmono=Type(00),AuxType(0000),VersionCreate(70),MinVersion(BE),Access(E3),FolderInfo1(000000000000000000000000000000000000),FolderInfo2(000000000000000000000000000000000000)
|
|
||||||
|
|
Loading…
Reference in New Issue