Apple ][ Helper
This commit is contained in:
commit
c1c8a0a2eb
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
Tools/cc65
|
||||
Tools/ac.jar
|
8
Example/Example.c
Normal file
8
Example/Example.c
Normal file
@ -0,0 +1,8 @@
|
||||
#include <conio.h>
|
||||
#include "../Library/clear.h"
|
||||
|
||||
int main(void) {
|
||||
clear(40, 40);
|
||||
cputs("HELLO MADELINE CRAY\n\rWOULD YOU LIKE TO PLAY A GAME?\n\r");
|
||||
cgetc();
|
||||
}
|
BIN
Example/Example.dsk
Normal file
BIN
Example/Example.dsk
Normal file
Binary file not shown.
16
Library/clear.h
Normal file
16
Library/clear.h
Normal file
@ -0,0 +1,16 @@
|
||||
#ifndef CLEAR_H
|
||||
#define CLEAR_H
|
||||
|
||||
#include <conio.h>
|
||||
|
||||
void clear(int w, int h){
|
||||
int i = 0;
|
||||
int j = 0;
|
||||
for(i=0; i<h; i++) {
|
||||
for(j=0; j<w; j++) {
|
||||
cputs(" ");
|
||||
}
|
||||
cputs("\n\r");
|
||||
}
|
||||
}
|
||||
#endif
|
26
Makefile
Normal file
26
Makefile
Normal file
@ -0,0 +1,26 @@
|
||||
|
||||
PROJECT=Example
|
||||
CC65_DIR=./Tools/cc65
|
||||
UC = $(shell echo '$1' | tr '[:lower:]' '[:upper:]')
|
||||
|
||||
all: build package.dsk clean
|
||||
|
||||
build :
|
||||
$(CC65_DIR)/bin/cc65 -t apple2 $(PROJECT)/$(PROJECT).c -o $(PROJECT)/$(PROJECT).s
|
||||
$(CC65_DIR)/bin/ca65 -t apple2 $(PROJECT)/$(PROJECT).s -o $(PROJECT)/$(PROJECT).o
|
||||
$(CC65_DIR)/bin/ld65 -t apple2 $(PROJECT)/$(PROJECT).o -o $(PROJECT)/$(PROJECT).bin --lib apple2.lib
|
||||
|
||||
package.po :
|
||||
java -jar ./Tools/ac.jar -pro140 $(PROJECT)/$(PROJECT).po $(call UC,$PROJECT)
|
||||
java -jar ./Tools/ac.jar -p $(PROJECT)/$(PROJECT).po $(call UC,$PROJECT) BIN < $(PROJECT)/$(PROJECT).bin
|
||||
|
||||
package.dsk :
|
||||
cp ./Tools/ProDOS_Example.dsk $(PROJECT)/$(PROJECT).dsk
|
||||
java -jar ./Tools/ac.jar -p $(PROJECT)/$(PROJECT).dsk $(call UC,$PROJECT).SYSTEM sys < $(CC65_DIR)/target/apple2/util/loader.system
|
||||
java -jar ./Tools/ac.jar -as $(PROJECT)/$(PROJECT).dsk $(call UC,$PROJECT) bin < $(PROJECT)/$(PROJECT).bin
|
||||
|
||||
clean :
|
||||
rm -f $(PROJECT)/$(PROJECT).s $(PROJECT)/$(PROJECT).o $(PROJECT)/$(PROJECT).bin
|
||||
|
||||
reset : clean
|
||||
rm -rf $(PROJECT)/$(PROJECT).po $(PROJECT)/$(PROJECT).dsk
|
26
README.md
Normal file
26
README.md
Normal file
@ -0,0 +1,26 @@
|
||||
# Applesauce
|
||||
|
||||
Apple ][ C compiler helper built on top of [cc65](https://github.com/cc65/cc65)
|
||||
|
||||
## Getting Started
|
||||
|
||||
I wrote a script `setup.sh` to pull the required files and get your build environment ready.
|
||||
|
||||
Just be sure to have the following packages already instaled on your system:
|
||||
|
||||
`build-essential make git openjdk-11-jdk`
|
||||
|
||||
## Building
|
||||
|
||||
The Directory tree should look like this (replace Project with your project's name):
|
||||
|
||||
```
|
||||
Project
|
||||
⌞ Project.c
|
||||
```
|
||||
|
||||
Then from the main project directory (where the `Makefile` is located) run:
|
||||
|
||||
```bash
|
||||
make PROJECT=Project
|
||||
```
|
BIN
Tools/ProDOS_Example.dsk
Normal file
BIN
Tools/ProDOS_Example.dsk
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user