-
Notifications
You must be signed in to change notification settings - Fork 10
Reminders
Stefan edited this page Feb 10, 2021
·
42 revisions
Things that might be considered to be evaluated/implemented/included in the future:
- Fix standard compliance problems in the preprocessor.
- Braces in initializers work in a non-standard way; standard-compliant initializers with braces are not always accepted.
- Floating-point support
- Implement "weak" symbols.
- Eventually, change
.addrsize()from an optional (experimental).featureinto a normal (always available) function. - Add -W error option (and, use it in the C library Makefile).
- Fix issues with the o65 format.
- Map files do not work for o65 output in the presence of o65-external symbols.
- Add an option to omit the generation of output files if the file length is zero (useful for unused overlays).
- Intel hex output.
- Segment overlays.
- Add capability to call other external programs for processing, for example, Pucrunch.
- Complete multiplication and division routines. Currently, it's somewhat a mess.
- The changes in the TGI library need a review and clean-up. The new vector font routines need testing, docs., and maybe a sample program. Clipping is probably not implemented (needs check).
- There's a function
tgi_imulround()-- declared intgi.h-- that can be used withtgi_getaspectratio()to scale a value "up" by the aspect ratio. However, it is desirable to be able to scale "down", as well, by the aspect ratio -- maybe with a function calledtgi_idivround(). - Implement an alternative "naive" heap manager that simply increments a pointer for every allocation (and, doesn't actually de-allocate anything), to allow, e.g., the module loader to be used without linking in the full-blown heap manager.
- Discuss if it is desirable to have standard SER and/or EMD drivers -- like the standard JOY, MOU, and TGI drivers.
- Several formats in
printf()are broken:printf("%04d",-12)andprintf("%#04x",12)are examples. - Abstract printer support.
- Implement the DIO interface.
- Implement a Userport SER driver based on George Hug's 'Toward 2400' source code -- http://archive.org/details/transactor-magazines-v9-i03.
- Implement another Userport SER driver based on Daniel Dallmann's 'UP9600' source code -- https://github.com/bozimmerman/Zimodem/blob/master/cbm8bit/src/up9600.asm.
- Remove prepending "0:" / "1:" to POSIX filenames -- http://cc65.github.io/mailarchive/2012-08/10683.html.
- Review handling of O_... flags in POSIX
open()-- https://cc65.github.io/mailarchive/2010-02/7863.html.
- Implement OUTTEXT in the TGI driver.
- Add extra EMD and joystick drivers.
- Implement OUTTEXT in the TGI drivers.
- Find ways to increase the RAM size available to cc65 programs.
- Test EM drivers with the multidemo sample; and, fix the broken ones.
- Make a VIC-II TGI driver -- needs different BASIC header and CFG files that open nine Kibibytes below the program (i.e.,
GRAPHIC 1).
- Make a TGI driver, based on the C64 driver.
- Find out CLOCKS_PER_SEC value.
- Implement
waitvsync().
- Have the EM driver detect AUXMEM, and cooperate with /RAM.
- Implement a TGI driver that "hides" the hires screen, using AUXMEM.
- Limit effect of
cursor()tocgetc()as documented. - Add
dio_query_sectcount()to complete the DIO implementation.- algorithm as follows (see http://cc65.github.io/mailarchive/2012-10/10974.html):
- Read the 4th sector. (The xf551 drive had a bug, it returned the wrong PERCOM info after reading the normally 128-byte boot sectors; a read from sector 4 eliminates that chance). See also https://atariage.com/forums/topic/297498-writing-a-sector-copier-cart-need-some-info/?do=findComment&comment=4383902.
- Read the status (SIO command 0x53), and save that info.
- Request a PERCOM block. If it succeeds, use that information.
- If reading the PERCOM block fails, assume 1050, 810, (or even 815), or compatible. Use the status byte 0 to differentiate between single, enhanced (medium), and double density. (bit 5 is set if double density, and bit 7 is set if enhanced density). If we're looking for only the sector count, only bit 7 matters. See also https://atariage.com/forums/topic/301964-percom-block-question/.
- algorithm as follows (see http://cc65.github.io/mailarchive/2012-10/10974.html):
- Complete implementation of the functions in
device.h; and, test them with samples/enumdevdir.c. - Improve
exec()command line handling. - Implement 80-column CONIO support targeting the XEP80 interface module. Possibly as an "extra" .o file that "overrides" cputc.o in the C library.
- Make
dio_query_sectcount()less naive. - Adjust the MOU driver to the current MOU kernel interface.
- Implement the functions in
device.h; and, test them with samples/enumdevdir.c.
- Add interruptor support (and check if the current interrupt handling really belongs in crt0.s).
- Add simple POSIX
read()andwrite(), so that portable programs can use the stdio functions to talk through the console.
- Update a font engine sample 'tgi-preview'.
- Describe what the tools show at various levels when they're told to be --verbose.
Content on this wiki is licensed under the following license: CC Attribution 3.0 Unported