My home page
Back to my software experience page
Back to my portfolio
Apple II software
This is a collection of code used for Apple II archaeology of various kinds.
Component files
- appleII.asd The system definition.
- circular-sequence.lisp Code to support various
operations on circular sequences, including a naive search for a subsequence.
This is useful to deal with emulated disk track images, which are circular in real life.
- disasm6502.lisp Basic 6502 disassembly
- disasm6502-oo.lisp Support for symbolic disassembly, including
auto-generated labels, screen and high-bit ASCII text, and hex data dump sections.
- nibimage.lisp Code to deal with NIB binary disk images, extracting the de-nibblized data sectors.
- dskimage.lisp Code to deal with normalized Apple DOS 3.3 or ProDOS disk images, extracting various files from the DOS images.
- applesoft.lisp Code to de-tokenize binary format AppleSoft BASIC programs.
- diskcopy_image.lisp Basic support to read Prodos images in DiskCopy 4.2 format
- asm6502.lisp Beginnings of a Lisp-syntax 6502 assembly language. Couldn't figure out a simply way to handle symbolic math and instruction length variations, including forward-referenced labels.
Example files
- zorknib.lisp Code to deal with non-standard format of Infocom games for the Apple II.
- zil-disasm.lisp Code to disassemble ZIL-language Infocom adventures.
- sst-disasm.lisp Example code using the disasm6502-oo code to disassemble the Super Saltine Transcopy program
Comments
The disk image code should ideally be abstracted into a generic file system, including writing
files to images on disk. This turns out to be a potentially very complex undertaking.
Those interested in a very interesting approach to 6502 assembly should consider
Baker's COMFY-6502.