Michael Martin
d3772587da
Include a .cbmfloat pragma to make creating data simpler
...
Due to the usual vagaries of floating point, these are not completely
perfect, but for "human-scale" numbers it will be OK.
2014-05-18 23:19:22 -07:00
Michael Martin
bfbe169364
Range-check inputs on kinematics example
2014-05-14 23:05:43 -07:00
Michael Martin
2f7007ac1b
libbasic64 sample program
2014-05-14 23:05:43 -07:00
Michael Martin
31bff0e414
libbasic64 is now vaguely usable
...
More consistent set of macros for interacting, a string-reader,
and better-documented preconditions based on disassemblies
2014-05-14 23:05:43 -07:00
Michael Martin
7ad52695d2
Refactor c64_0.oph to include a minimal BASIC loader
2014-05-14 23:05:43 -07:00
Michael C. Martin
f48071add9
Merge pull request #22 from catseye/printable-chars-in-listing
...
Good catch. Merging that in 2.1.
2014-05-14 09:10:10 -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
5b64c9701e
Refactor the label mapper to be more like the lister.
2014-05-14 05:56:59 -07:00
Michael Martin
bac908bff5
Much prettier label map files
2014-05-09 23:55:56 -07:00
Michael Martin
70f93b22eb
Rework label map collection
...
This uses a pass to interrogate the system for locations, then dumps
those out instead. It handles includes, anonymous labels, and basic
macros, but it does so in a somewhat ugly way. This data can be
readily abbreviated and should also be re-sorted.
2014-05-09 23:11:09 -07:00
Cat's Eye Technologies
1ab61cd3be
The ASCII characters DEL (127) and US (31) are not printable.
2014-04-26 13:16:15 +01:00
Cat's Eye Technologies
c0bf2e98b7
A very, *very* poor-man's version of label<->address dump. Ugh!
2014-03-24 12:32:17 +00:00
Michael C. Martin
83b8433b77
Merge pull request #20 from gardners/master
...
INW/DEW addressing modes
2014-03-23 21:20:36 -07:00
gardners
97ea228fb7
remove LF added during conflict resolution.
2014-03-23 16:55:04 +10:30
gardners
d407791aa9
Merge github.com:michaelcmartin/Ophis into temp
2014-03-23 16:53:39 +10:30
gardners
a7994f9e85
4502 instructions INW and DEW are Zero Page, not Absolute
2014-03-23 16:51:01 +10:30
Michael Martin
42f01f7cd6
Bump minor version number and copyright dates
2014-03-22 22:09:11 -07:00
Michael Martin
3f13609932
Post-merge adjustments to 4502 patch.
2014-03-22 22:03:06 -07:00
Michael C. Martin
88c7214950
Merge pull request #19 from gardners/master
...
Add support for 4502/4510 CPU from Commodore 65
2014-03-22 22:02:56 -07:00
gardners
adf965fc9d
fix SBX (ZeroPage), Z for 4502
2014-02-08 02:56:41 +10:30
gardners
bcfd08c750
Fix 16-bit immediate mode.
2014-02-08 02:55:26 +10:30
gardners
dcc37f5751
Implement test for 4502 extensions.
...
Fix numerous bugs revealed through tests, some more remain.
2014-02-08 02:51:42 +10:30
gardners
591fc2fe35
make addressing mode cooercion work with varying addressing mode
...
lists.
2014-02-08 02:19:14 +10:30
gardners
5c162d2407
restore branch expansion for non-4502 targets
2014-02-08 01:59:42 +10:30
gardners
8152590946
update readme to indicate 4502 support
2014-02-07 20:55:19 +10:30
gardners
6856da1bbf
fix various bugs with 4502 assembly.
2014-02-07 20:52:11 +10:30
gardners
5c4b23cbee
fix 16-bit branch out-by-one error
2014-02-07 20:23:56 +10:30
gardners
dec3106744
implement new 4510 addressing modes.
...
promote relative branches to 16-bit when required.
2014-02-07 20:22:06 +10:30
gardners
c4be540f49
add 4502 option to Ophis command line.
2014-02-06 22:23:28 +10:30
gardners
ccef1b663f
update Opcodes.py to include 4502 opcodes
2014-02-06 22:20:24 +10:30
gardners
7686b21396
update addressing modes. Add 4502 to chipsets.txt
2014-02-06 22:19:38 +10:30
gardners
45e79d5583
add 4502 opcode table.
2014-02-06 22:06:40 +10:30
Michael Martin
364b39edfb
First draft of listfile support.
...
The .listfile pragma and the -l command line option will select the
output file for the listing.
2013-04-13 19:57:24 -07:00
Michael Martin
e5ac21f0f9
Second attempt at implementation of the BBXn instructions for Rockwell 65c02 chips.
...
Reliable technical documentation for how these instructions are decoded is a
little thin on the ground online, so some of this implementation is still
speculative.
2013-01-27 20:18:08 -08:00
Michael C. Martin
1c7174e696
Merge pull request #14 from catseye/fix-templabelcount
...
Declare templabelcount as a global in atom().
2013-01-10 22:25:03 -08:00
Michael C. Martin
c25047ca66
Merge pull request #17 from catseye/exit-code-1-on-error
...
Exit with exit code 1 when errors occurred
2013-01-10 22:18:23 -08:00
Cat's Eye Technologies
5fc504c6c1
Exit with exit code 1 if there were errors, 0 otherwise.
2012-10-25 10:51:39 +01:00
Cat's Eye Technologies
0b020a827b
Add missing 'sys.' and remove unused module import.
2012-08-03 20:13:00 -05:00
Cat's Eye Technologies
45784e9b95
Declare templabelcount as a global in atom().
2012-07-28 13:34:51 -05:00
Michael Martin
4ad16be245
Put tools under src
2012-06-16 02:07:02 -07:00
Michael Martin
ae59cbf3c4
Remove outdated website data
2012-06-16 02:05:45 -07:00
Michael Martin
5362a635c8
Fix up some typos in meta text.
2012-06-16 01:37:55 -07:00
Michael Martin
9ef2b91e9e
packaging for 2.0 release
2012-06-13 00:24:21 -07:00
Michael Martin
55d7344cc7
PDF version of manual
2012-06-13 00:07:10 -07:00
Michael Martin
0faae3f5b4
Update manuals
2012-06-12 23:13:55 -07:00
Michael Martin
51583ce5e0
Remind git about binary files and not to mangle them.
2012-06-12 19:11:34 -07:00
Michael Martin
7f650e787d
Fix the bugs the test suite found
...
- .require now tracks absolute paths of loaded files
- stricter checking of .incbin arguments
- fix charmap reset directive
- Allow register names (a, x, y) as labels, with warning
- Allow opcode names as labels, with warning
2012-06-12 06:29:03 -07:00
Michael Martin
10c3b46996
Finish up the test suite
...
Quite a few tests fail; that'll need fixing.
2012-06-12 06:29:03 -07:00
Michael Martin
926eef2287
Many more unit tests.
...
- Labels
- Expressions
- Macros
- Outline for remaining tests (compilation units, segments, scoping)
2012-06-10 22:16:24 -07:00