contiki/platform/apple2enh
Oliver Schmidt 91beb8670f Added SLIP support to retro platforms.
The cc65 tool chain comes with V.24 drivers so it seems reasonable to use the existing Contiki SLIP driver to implement network access via SLIP as alternative to Ethernet.

Some notes:
- The Ethernet configuration was simplified in order to allow share it with SLIP.
- The Contiki SLIP driver presumes an interrupt driven serial receiver to write into the SLIP buffer. However the cc65 V.24 drivers aren't up to that. Therefore the main loops were extended to pull received data from the V.24 buffers and push it into the SLIP buffer.
- As far as I understand the serial sender is supposed to block until the data is sent. Therefore a loop calls the non-blocking V.24 driver until the data is sent.

On all platforms there's only one V.24 driver available. Therefore V.24 drivers are always loaded statically.

On the Apple][ the mouse driver is now loaded statically - independently from SLIP vs. Ethernet. After all there's only one mouse driver available. However there's a major benefit with SLIP: Here all drivers are loaded statically. Therefore the dynamic module loader isn't necessary at all. And without the loader the heap manager isn't necessary at all. This allows for a reduction in code size roughly compensating for the size of the SLIP buffer.
2017-02-15 23:43:28 +01:00
..
lib Avoid unnecessary key presses. 2016-10-15 15:27:42 +02:00
sys Adjusted retro target clock to "new" DNS resolver. 2015-08-04 13:48:08 +02:00
contiki-conf.h Made 80 column display a cc65 application attribute. 2015-10-30 12:42:58 +01:00
contiki-main.c Added SLIP support to retro platforms. 2017-02-15 23:43:28 +01:00
Makefile.apple2enh Added SLIP support to retro platforms. 2017-02-15 23:43:28 +01:00
Makefile.customrules-apple2enh Moved the 6502 custom rules into its own Makefile.customrules-6502 file 2014-01-26 23:20:40 +01:00
README.md Added info on W5100 driver. 2014-03-15 16:56:08 +01:00

Apple II

The platform/apple2enh/ directory is used for targeting an Enhanced Apple //e (or compatible) computer. Most things are shared between the 6502-based targets so please consult cpu/6502/README.md for further details.

The following Apple II Ethernet cards are supported:

  • Uthernet: Use driver cs8900a.eth with address $C0x0 (x = 8 + slot number).
  • Uthernet II: Use driver w5100.eth with address $C0x4 (x = 8 + slot number).
  • LANceGS: Use driver lan91c96.eth with address $C0x0 (x = 8 + slot number).

In most cases it is desirable to use an emulator for the development and testing of a Contiki application. AppleWin is especially well suited as it emulates the Uthernet card in slot 3. It is available at http://applewin.berlios.de/.

The 'disk' make goal requires AppleCommander 1.3.5 or later. It is available at http://applecommander.sourceforge.net/.

The apple2enh target supports a PFS that requires much less RAM than the POSIX file system. However this benefit comes with the following restrictions:

  • Only one file may be open at the same time.
  • Only read operations are supported but no write operations.
  • The files must be located in the same directory the application is located in (the ProDOS prefix may very well point to another directory).
  • The network MTU size must be set at least to 1265 (the default is 1500).
  • No network function may be called while a file is open.