Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Reminders

Stefan edited this page Feb 10, 2021 · 42 revisions

Things that might be considered to be evaluated/implemented/included in the future:

Table of Contents

Compiler

  • 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

Assembler

  • Implement "weak" symbols.
  • Eventually, change .addrsize() from an optional (experimental) .feature into a normal (always available) function.
  • Add -W error option (and, use it in the C library Makefile).

Linker

  • 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.

Disassembler

Compile & Link Utility

  • Add capability to call other external programs for processing, for example, Pucrunch.

Platform-independent run-time libraries

  • 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 in tgi.h -- that can be used with tgi_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 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, 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) and printf("%#04x",12) are examples.
  • Abstract printer support.

CBM library

C64 library

  • Implement OUTTEXT in the TGI driver.
  • Add extra EMD and joystick drivers.

C128 library

  • 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).

CBM510 library

  • Make a TGI driver, based on the C64 driver.

Creativision library

  • Find out CLOCKS_PER_SEC value.
  • Implement waitvsync().

Apple II library

  • Have the EM driver detect AUXMEM, and cooperate with /RAM.
  • Implement a TGI driver that "hides" the hires screen, using AUXMEM.

Atari library

  • Limit effect of cursor() to cgetc() as documented.
  • Add dio_query_sectcount() to complete the DIO implementation.
  • 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.

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.

NES library

  • Add interruptor support (and check if the current interrupt handling really belongs in crt0.s).

Ohio Scientific C1P library

  • Add simple POSIX read() and write(), so that portable programs can use the stdio functions to talk through the console.

Documentation

  • Update a font engine sample 'tgi-preview'.
  • Describe what the tools show at various levels when they're told to be --verbose.
Clone this wiki locally