Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tommythorn/sdcc-nascom
crt0 and Makefile to enable SDCC to produce code for Nascom 2
https://github.com/tommythorn/sdcc-nascom
Last synced: about 5 hours ago
JSON representation
crt0 and Makefile to enable SDCC to produce code for Nascom 2
- Host: GitHub
- URL: https://github.com/tommythorn/sdcc-nascom
- Owner: tommythorn
- Created: 2014-11-25T07:33:21.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2014-12-31T08:54:35.000Z (about 10 years ago)
- Last Synced: 2025-01-11T16:16:18.745Z (5 days ago)
- Language: C
- Size: 137 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# SDCC 3.4.0 support for NASCOM 2 running NASSYS-3 (and 1?)
Includes a crt0_nascom.s which provides the essential support for NASCOM 2.
## Features
* `putchar()` and `getchar()` (and thus all derived IO like `printf()` etc.) use the NASSYS IO.
Note, `putchar()` translates `0x23` to `0x9E` so that `'#'` prints as expected rather than the British pound symbol `'£'`.
* `exit()` returns control to NASSYS 3 as recommended.
## Demos
* nasmacs - a small, simple, but powerful editor (EMACS inspired)
## Issues
* SDCC 3.4.0 doesn't add float support for `printf()` by default (otherwise floats are mostly supported).
* Why can't the linker figure out to place the data at the end of the text rather than having to give it explicitly?
For a kludgy workaround: http://sourceforge.net/p/sdcc/feature-requests/399/
* Similarily, but less important: my hack to put init at `0x1000` and `code-loc 0x1004` isn't very elegant. Surely one could do better?
* Stack pointer is hardwired to start at `0xE000` (the end of ROM Basic); might be better if it could automatically find the end of RAM or otherwise be configurable.