Apple II Code to Disk
Go to file
Egan Ford 00609d4106 minor optimizations 2017-04-09 09:17:09 -06:00
asm minor optimizations 2017-04-09 09:17:09 -06:00
bin minor optimizations 2017-04-09 09:17:09 -06:00
Makefile test cleanup 2017-04-08 21:56:22 -06:00
README.md minor optimizations 2017-04-09 09:17:09 -06:00
c2d.c minor optimizations 2017-04-09 09:17:09 -06:00
c2d.h.0 minor optimizations 2017-04-09 09:17:09 -06:00
gameserverclient minor output change, added simple test to makefile 2017-04-02 10:56:37 -06:00
gameserverclient.text test cleanup 2017-04-08 21:56:22 -06:00
gameserverclient.textpage test cleanup 2017-04-08 21:56:22 -06:00
makeheader added missing makeheader script 2017-04-08 21:45:39 -06:00
test.sh minor optimizations 2017-04-09 09:17:09 -06:00
text2page.c minor bug 2017-04-08 22:04:07 -06:00

README.md

Description

c2d is a small utility that will read Apple II binary and monitor text files and output a DOS ordered diskette image that will boot your code quickly.

Based on work by:

Weishaar, Tom. Running without filenames. Open-Apple Jan. 1985 Vol. 1, No. 0: p. 7 (http://apple2online.com/web_documents/Open%20Apple%20Vol1No00.pdf)

Features

  • Platforms tested:
    • 32-bit/64-bit x86 OS/X.
    • 32-bit x86 Windows/MinGW.

Distribution Files

Filename Description
README.md This File
c2d.c Source File
c2d.h.0 Source File
makeheader c2d.h build script
text2page.c Source File
Makefile c2d Makefile
asm/loader.s c2d loader source
asm/Makefile c2d loader Makefile
bin/c2d OS/X x86 Binary
bin/c2d.exe Windows Binary
bin/text2page OS/X x86 Binary
bin/text2page.exe Windows Binary
gameserverclient* Test Apple II Binary
test.sh test script

Download

git clone https://github.com/datajerk/c2d.git

or

Download https://github.com/datajerk/c2d/archive/master.zip and extract.

Build Notes

Unix/Linux:

make

or

OS/X, Linux, Cygwin:

gcc -Wall -Wno-missing-braces -I. -O3 -o c2d c2d.c -lm
gcc -Wall -O3 -o bin/text2page text2page.c -lm

Windows/MinGW:

PATH=C:\MinGW\bin;%PATH%
gcc -Wall -Wno-missing-braces -static -I. -O3 -o c2d c2d.c -lm
gcc -Wall -O3 --static -o bin/text2page text2page.c -lm

c2d Usage/Examples

usage:  c2d [-vh?]
        c2d [-m] [-t filename] [-s start address override] input[.mon],[load_address] output.dsk

        -h|? this help
        -m jump to monitor after booting
        -s XXXX jump to XXXX after booting
        -t filename where filename is a 1K $400-$7FF text page splash screen.
           The splash screen will display while the binary is loading.
        -v print version number and exit

Input without a .mon extension is assumed to be a binary with a 4 byte header.
If the header is missing then you must append ,load_address to the binary input
filename, e.g. filename,800.  The load address will be read as hex.

input with a .mon extension expected input format:

        0800: A2 FF 9A 20 8C 02 20 4F
        0808: 03 4C 00 FF 20 9E 02 A9

Examples:

        c2d hello hello.dsk
        c2d hello.mon hello.dsk 
        c2d hello,800 hello.dsk 
        c2d -m test,300 test.dsk
        c2d -s 7300 alpha4,400 alpha4.dsk
        c2d -t gameserverclient.textpage gameserverclient,800 gameserverclient.dsk

text2page Example

Input is expected to be ASCII text. Only the first 40 characters/line and the first 24 lines are read. See gameserverclient.text example.

text2page <gameserverclient.text >gameserverclient.textpage

Bugs

Yes. No input checking. Big Endian untested.

The Ugly Stuff

c2d, Code to Disk, Version 0.42, Sun Apr 9 03:16:22 UTC 2017

(c) 2012,2017 All Rights Reserved, Egan Ford (egan@sense.net)

THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.

License: Do what you like, remember to credit all sources when using.