Reminders
Things that might be considered to be evaluated/implemented/included…
Compiler
Fix standard compliance problems in the preprocessor.
Braces in initializers work in a non standard way, standard compliant initializer with braces are not always accepted.
Fix issue with goto
into a block that declares a local label.
Make fastcall
the standard.
-
Assembler
Linker
Fix issues with o65 format.
Fix internal error in complex setups where the precalculated memory setup differs from the one determined later.
Map files do not work for o65 output in presence of external symbols.
Add option to omit generation of output files if the file length is zero (useful for unused overlays).
Intel hex output.
Segment overlays.
Disassembler
Compile & Link Utility
Complete multiplication and division routines. Currently it's somewhat a mess.
The changes in the TGI library need a review and cleanup. 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 in tgi/tgi-kernel.h - that can be used with tgi_getaspectratio() to scale a value “up” by the aspect ratio. However it is as well desirable to be able to scale “down” by the aspect ratio - maybe with a function called tgi_idivround().
Implement an alternative “naive” heap manager that simply increments a pointer for every allocation (and doesn't actually de-allocate anything) to allow i.e. 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)
and printf(”%#04x”,12)
are examples.
Abstract printer support.
CBM library
C64 library
Implement OUTTEXT in the TGI driver.
Implement Soft-80 CONIO support as an “extra” .o file that “overrides” the cputc.o in the C library.
Add extra EMD and joystick drivers.
C128 library
If possible do that “blinding” of the keyboard scanner while any button/switch is active which was done for the C64-1351 driver for the C128-1351 driver too.
Implement OUTTEXT in the TGI drivers.
Find ways to increase the RAM size available to cc65 programs.
Test EM drivers with multidemo sample and fix the broken ones.
Apple II library
Implement lseek().
Update documentation to reflect the current linker configs.
Have the EM driver detect AUXMEM and cooperate with /RAM.
Implement a TGI driver that “hides” the hires screen using AUXMEM.
Allow _sys() to call ROM routines.
Add cmdline support to exec().
Add support for visible cursor on cgetc().
Atari library
Add dio_query_sectcount() to complete the DIO implementation.
-
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 this chance)
Read status (SIO command 0x53) and save that info.
Request a PERCOM block. If it succeeds use that information.
If reading 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 only looking for sector count, only the bit 7 matters.
Implement the functions in device.h and test them with samples/enumdevdir.c.
Implement exec().
Add documentation for TGI and EMD drivers.
GEOS 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.
Documentation
Other stuff