ORCALib
Go to file
Stephen Heumann 9af245933c Change long long printing routine to a new technique not using division.
The core loop uses the 65816's decimal mode to create a BCD representation of the number, then we convert that to ASCII to print it. The idea is based on some code from Kent Dickey, with adjustments to fit this codebase. This technique should be faster, and also should typically result in smaller code, since the long long division routine will not need to be linked into every program that uses printf.
2021-02-21 18:33:04 -06:00
obj ORCA libraries, from the Opus ][ CD 2017-10-01 18:00:58 -06:00
assert.asm assert - use updated ph2/ph4 macros that support pei dp vs lda dp / pha. 2018-06-27 23:36:02 -04:00
assert.macros assert - use updated ph2/ph4 macros that support pei dp vs lda dp / pha. 2018-06-27 23:36:02 -04:00
backup CR -> LF 2017-10-31 13:14:07 -04:00
cc.asm Use consistent indentation within files. 2020-02-16 13:28:18 -06:00
cc.macros CR -> LF 2017-10-31 13:14:07 -04:00
ctype.asm Use consistent indentation within files. 2020-02-16 13:28:18 -06:00
equates.asm Spellcheck comments. 2020-02-16 13:29:53 -06:00
fcntl.asm CR -> LF 2017-10-31 13:14:07 -04:00
fcntl.macros CR -> LF 2017-10-31 13:14:07 -04:00
int64.asm Add real to long long conversion routines. 2021-02-16 18:44:38 -06:00
int64.macros Add real to long long conversion routines. 2021-02-16 18:44:38 -06:00
LICENSE ORCA libraries, from the Opus ][ CD 2017-10-01 18:00:58 -06:00
m16.int64 Use some improved macros for 64-bit operations in the libraries. 2021-02-12 20:24:37 -06:00
make Add a new file for 64-bit integer routines, initially with an unsigned multiply. 2021-02-04 23:58:54 -06:00
orca.asm Use consistent indentation within files. 2020-02-16 13:28:18 -06:00
orca.macros CR -> LF 2017-10-31 13:14:07 -04:00
README.md ORCA libraries, from the Opus ][ CD 2017-10-01 18:00:58 -06:00
setjmp.asm CR -> LF 2017-10-31 13:14:07 -04:00
signal.asm Spellcheck comments. 2020-02-16 13:29:53 -06:00
signal.macros CR -> LF 2017-10-31 13:14:07 -04:00
smac CR -> LF 2017-10-31 13:14:07 -04:00
stdio.asm Change long long printing routine to a new technique not using division. 2021-02-21 18:33:04 -06:00
stdio.macros Use some improved macros for 64-bit operations in the libraries. 2021-02-12 20:24:37 -06:00
stdlib.asm Implement atoll() function. 2021-02-17 14:37:54 -06:00
stdlib.macros Use some improved macros for 64-bit operations in the libraries. 2021-02-12 20:24:37 -06:00
string.asm Spellcheck comments. 2020-02-16 13:29:53 -06:00
string.macros CR -> LF 2017-10-31 13:14:07 -04:00
time.asm Spellcheck comments. 2020-02-16 13:29:53 -06:00
time.macros CR -> LF 2017-10-31 13:14:07 -04:00
toolglue.asm Spellcheck comments. 2020-02-16 13:29:53 -06:00
toolglue.macros CR -> LF 2017-10-31 13:14:07 -04:00
vars.asm Spellcheck comments. 2020-02-16 13:29:53 -06:00
vars.macros CR -> LF 2017-10-31 13:14:07 -04:00

ORCALib

Libraries for the ORCA language suite (ORCA/C, ORCA/M, ORCA/Pascal) for the Apple IIGS

If you would like to make changes to this compiler and distribute them to others, feel free to submit them here. If the changes apply to the Apple IIGS, they will generally be approved for distribution on the master branch. For changes that retarget the library to generate code for a different platform, the project will either be forked or a new repository will be created, as appropriate.

The general conditions that must be met before a change is released on master are:

  1. The modified library must compile under the currently released version of ORCA/M.

  2. The various languages that make use of the library mush still pass their respective test suites, or changes to those test suites must also be submitted.

Contact support@byteworks.us if you need contributor access.

A complete distribution of the ORCA languages, including installers and documentation, is available from the Juiced GS store at https://juiced.gs/store/category/software/. It is distributed as part of the Opus ][ package.