ORCALib
Go to file
Stephen Heumann a6d7d91f37 Add initial support for 'F', 'a', and 'A' conversion specifiers for printf (C99).
'F' is currently treated identically to 'f'. This should be a correct implementation for 'F' under C99. (It's not quite correct for 'f', which should print "inf" or "nan" in lower case according to C99.)

'A' and 'a' are not correctly formatted (they are currently treated identically to 'E' and 'e', rather than using the hexadecimal floating-point representation specified by C99), but at least they print the number in some form and consume the correct number of bytes so that the stack isn't corrupted and subsequent conversion specifications print the right values.

The floating-point formats are also moved to the top of the list of conversion specifiers to check, which means they are checked last. This should marginally speed up the integer cases.
2018-02-27 21:29:22 -06:00
obj ORCA libraries, from the Opus ][ CD 2017-10-01 18:00:58 -06:00
assert.asm CR -> LF 2017-10-31 13:14:07 -04:00
assert.macros CR -> LF 2017-10-31 13:14:07 -04:00
backup CR -> LF 2017-10-31 13:14:07 -04:00
cc.asm CR -> LF 2017-10-31 13:14:07 -04:00
cc.macros CR -> LF 2017-10-31 13:14:07 -04:00
ctype.asm Merge pull request #2 from ksherlock/toupper 2017-11-01 18:10:48 -05:00
equates.asm Revert various stdio changes to make it match the version in the ORCA/C 2.1.1 B3 ORCALib binary on Opus ][. 2018-02-26 22:49:10 -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
LICENSE ORCA libraries, from the Opus ][ CD 2017-10-01 18:00:58 -06:00
make CR -> LF 2017-10-31 13:14:07 -04:00
orca.asm CR -> LF 2017-10-31 13:14:07 -04: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 CR -> LF 2017-10-31 13:14:07 -04: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 Add initial support for 'F', 'a', and 'A' conversion specifiers for printf (C99). 2018-02-27 21:29:22 -06:00
stdio.macros CR -> LF 2017-10-31 13:14:07 -04:00
stdlib.asm CR -> LF 2017-10-31 13:14:07 -04:00
stdlib.macros CR -> LF 2017-10-31 13:14:07 -04:00
string.asm CR -> LF 2017-10-31 13:14:07 -04:00
string.macros CR -> LF 2017-10-31 13:14:07 -04:00
time.asm CR -> LF 2017-10-31 13:14:07 -04:00
time.macros CR -> LF 2017-10-31 13:14:07 -04:00
toolglue.asm CR -> LF 2017-10-31 13:14:07 -04:00
toolglue.macros CR -> LF 2017-10-31 13:14:07 -04:00
vars.asm Change sys_nerr from 6 to 12, to reflect actual number of error messages. 2017-10-31 22:50:22 -05: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.