1
0
mirror of https://github.com/fadden/6502bench.git synced 2024-12-11 13:50:13 +00:00
6502bench/SourceGen/Examples/README.md
Andy McFadden abba1c8462 Update A2-HP-CDA example
This used to be an example of why disassembling Apple IIgs OMF
binaries didn't work.  Now it's an example of how well it works.
2020-07-10 21:22:18 -07:00

34 lines
1.8 KiB
Markdown

# SourceGen Examples #
These are some sample projects you can play with. The binaries are
accompanied by the original source code, so you can compare the SourceGen
project to the original.
* Tutorial: simple projects, intended for use with the tutorial in
the manual.
* Scripts: extension script samples.
* A2-lz4fh: two functions for unpacking a simplified form of LZ4 compression.
One is 6502, the other is 65816. This is pretty straightforward.
[(Full project)](https://github.com/fadden/fhpack)
* A2-Amper-fdraw: 6502 code that provides an Applesoft BASIC interface
to a machine-language graphics library. The public interface of the
graphics library is defined in a .sym65 file. This example has multiple
entry points in a jump table, and is used to demonstrate address table
formatting in the advanced tutorial.
[(Full project)](https://github.com/fadden/fdraw)
* A2-Zippy: a program for controlling an Apple IIgs CPU accelerator card.
65816 sources, with a little bit of ProDOS 8 and IIgs toolbox usage.
Demonstrates how extension scripts are used during analysis.
[(Full project)](https://fadden.com/apple2/misc.html#zippy)
* A2-HP-CDA: HardPressed Classic Desk Accessory. This original binary is
in 65816 code in OMF loader format, which was then prepared with
SourceGen's OMF conversion tool. (Try loading the "#b90100" file
into the disassembler to see why.)
[(Full project)](https://fadden.com/apple2/hardpressed.html)
You may be wondering why some of the example files have filenames with
things like "#061d60" in them. It's a method of preserving the file type
for Apple II files used by some utilities. The potential advantage for
disassembly is that the file type often determines the load address,
possibly removing some initial guesswork.