Commit Graph

9 Commits

Author SHA1 Message Date
Michael Martin
7ad52695d2 Refactor c64_0.oph to include a minimal BASIC loader 2014-05-14 23:05:43 -07:00
Michael Martin
72d86ea06d Add libbasic64, for using BASIC's floating point in assembler programs 2014-05-14 08:57:46 -07:00
Michael Martin
60f03a34af Improvements to c64_0.oph startup/teardown code
16 additional bytes from the zero page are now available; the ZP
locations from $02-$8F are now free for your program's use.

Approximately 128 additional bytes in main RAM are now available,
giving you free reign from $0800-$CFFF. Zero Page backup is now
handled underneath the KERNAL's ROM, with the program epilogue
safely handling swapping out the KERNAL for the duration of the
switch. (IRQs are disabled, and NMI handling code is replicated
and modified to not hurt anything.)

Program exit is now handled by keyboard buffer and jumping
through BASIC's warm reset vector. This technique lets programs
play more nicely with PUCRUNCH and onefilers (which otherwise
often confused BASIC as the BASIC prologue would change as part
of decompression or link-loading).
2014-05-14 07:33:07 -07:00
Michael Martin
9ef2b91e9e packaging for 2.0 release 2012-06-13 00:24:21 -07:00
Michael Martin
07f807d680 Documentation and examples reorganization 2012-06-08 23:41:16 -07:00
Michael Martin
cf0df92fb1 Wrap up the new file/dir handling.
An .outfile directive lets sources suggest default filenames.

Also, .include, .require, .incbin, and .charmapbin are relative
to their _source file_ as opposed the _directory you called Ophis
from_, like it really should have always been.
2012-06-03 19:50:17 -07:00
Michael Martin
809bf51239 NES Hello World code
Includes iNES and UNIF linkage.
2012-06-03 15:09:18 -07:00
Michael C. Martin
a9f406489d Demo "Hello World" for the Stella/Atari 2600. 2012-06-02 20:06:14 -07:00
Michael Martin
feba267ee7 Basic platform headers.
* C64, NES, and Atari 2600 ("Stella") useful constants headers.
 * crt0.s equivalent for C64.
 * Hello World for the C64.
2012-06-02 02:45:05 -07:00