From: cuz Date: Sat, 20 Dec 2003 23:37:06 +0000 (+0000) Subject: New features X-Git-Tag: V2.12.0~1013 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=68fd981cb50c03c76ee223100d90702b84af99c5;p=cc65 New features git-svn-id: svn://svn.cc65.org/cc65/trunk@2795 b7a2c559-68d2-44c3-8de9-860c34a00d81 --- diff --git a/doc/cbm610.sgml b/doc/cbm610.sgml index 48367fdc9..2aec8b4e9 100644 --- a/doc/cbm610.sgml +++ b/doc/cbm610.sgml @@ -82,11 +82,6 @@ Programs containing CBM 610 specific code may use the -of the runtime library for the platform, several standard C and CBM functions -are not available. - - CBM 610 specific functions

The functions listed below are special for the CBM 610. See the for declaration and usage. + +cbm_close +cbm_closedir +cbm_k_setlfs +cbm_k_setnam +cbm_k_load +cbm_k_save +cbm_k_open +cbm_k_close +cbm_k_readst +cbm_k_chkin +cbm_k_ckout +cbm_k_basin +cbm_k_bsout +cbm_k_clrch +cbm_load +cbm_open +cbm_opendir +cbm_read +cbm_readdir +cbm_save +cbm_write +get_tv + + + + Hardware access

The following pseudo variables declared in the not work! Loadable drivers

-Note: Since the CBM 610 doesn't have working disk I/O (see ), the available -drivers cannot be loaded at runtime (so the term "loadable drivers" is -somewhat misleading). Instead, the drivers have to be converted using the - and statically linked. While -this may seem overhead, it has two advantages: - - -The interface is identical to the one used for other platforms - and to the one for the CBM 610 once it has disk I/O. -Once disk I/O is available, existing code can be changed to load drivers - at runtime with almost no effort. - - Graphics drivers

@@ -178,7 +186,7 @@ really good:-). A driver for the RAM in bank 2. Supports up to 255 pages with 256 bytes - each. Untested! + each.

@@ -197,42 +205,31 @@ does not exist). RS232 device drivers

-Currently no RS232 drivers exist for the Commodore 610. - - - -Limitations

- + -Disk I/O

+ + Driver for the 6551 ACIA chip built into the Commodore 610. Supports up to + 19200 baud, hardware flow control (RTS/CTS) and interrupt driven receives. + Note that because of the peculiarities of the 6551 chip transmits are not + interrupt driven, and the transceiver blocks if the receiver asserts flow + control because of a full buffer. -The existing library for the CBM 610 doesn't implement C file I/O. Please note -that this includes

-To be more concrete, this limitation means that you cannot use any of the -following functions (and a few others): - -fclose -fgets -fopen -fread -fprintf -fputc -fscanf -fwrite -gets -printf -... - +Limitations

Kernal and hardware access

Since the program runs in bank 1, and the kernal and all I/O chips are located -in bank 15, calling ROM routines or accessing hardware needs special code. - +in bank 15, calling ROM routines or accessing hardware needs special code. The +cc65 runtime implements wrappers for all functions in the kernal jump table. +While this simplifies things, it should be noted that the wrappers do have +quite an impact on performance: A cross bank call has an extra 50-100us +penalty added by the wrapper. + Other hints