André's 8-bit Pages  Projects  Code  Resources  Tools  Forum
search

(Google, in new window)
share
follow
Follow my 8-bit tweets on
Twitter
(In new window)
discuss

Discuss my site on this 6502.org forum thread

(Forum registration required to post)

Hot!

Dive into the retro feeling and build yourself a Commodore PET replica

Need more speed? Speed up your 6502 computer with this 10 MHz 6502 CPU replacement board

Interested in electronics design? Look at the design lesson I got from Bil Herd, the hardware designer of the C128

Want 64bit? - pimp the 6502 with the 65k processor design!

You are using an old MS Internet Explorer as browser. This version is not supported anymore. Please use a more modern browser, like Internet Explorer 8 or later, Firefox, Google Chrome, or Opera.

Ethernet board

This board is an Ethernet board for the CS/A computer. It uses the Olimex Ethernet adapter which has a CS8900A chip on it - that chip is often used with 8 bit computers - plus physical layer adapter and Ethernet plug. For the board see Olimex.com, in the left hand menu click "Other", then "CS8900A-H".

The board thus mainly does signal voltage level translation (the Olimex adapter only comes in 3.3V) and address selection.

The board can be implemented in two options for the voltage level translation. One uses two 74LVX4245 (SMD), the other option uses a 74LVX244 (SMD), a CMOS 4050, and a 74ALS245. For more details see the schematics and board. Currently only the '4245 option is tested.

As a driver I ported the uIP v1.0 TCP/IP stack to the cc65 compiler, and integrated the CS8900A driver from contiki v1 (which also uses uIP).

  •  
    2011-01-11 Published the V1.0B version with the /SBHE fix.
  •  
    2011-01-04 Published this page
 

Table of content

UIP PET driver

This is the uIP v1.0 TCP/IP stack ported to the PET, which runs on my CS/A computer using the PET ROMs.


The Ethernet board in the '4245 option.

The pet subdirectory is new and contains the Makefile to build the uip binary, which is a CBM PET program that can be loaded with LOAD and started with RUN. In the main.c the ethernet driver is configured with the IP address. Also there are some diagnostic asm statements, to increase a PET video memory location when executed, kind of a debug heartbeat.

The CS8900A is configured to be used at $E8C0. The board can be jumpered to $E8D0 as well.

In the uIP driver code provided here I have only implemented the "hello world" program as included in the uIP stack. That however should give you an indication how to implement your own programs.

 
uip-1.0+pet.tar.gz(Ported uIP stack for the PET)
 
uip-pet.diff.gz(Diff of the Ported uIP stack to uIP v1.0)

Version: 1.0B

Status: prototype

Notes

 
(2012-01-02) If you have power supply problems, you can place a 47u tantal capacitor underneath the Olimex module.
 
Silly me, I forgot the pullup on /SBHE. That fixes the initialization problem. Driver stays the same.
 
This board has been successfully tested with both implementation options for the level translators.

Files

 
csa_etholi-v1.0b.sch
 
csa_etholi-v1.0b-sch.png
 
csa_etholi-v1.0b.brd
 
csa_etholi-v1.0b-brd.png

Version: 1.0A

Status: prototype

Notes

 
There still seems to be some kind of initialization problem. The uIP driver from above only works when system has been reset once after power up (no matter if the driver has been loaded before the reset or not).
 
This board has been successfully tested with both implementation options for the level translators.

Files

 
csa_etholi-v1.0a.sch
 
csa_etholi-v1.0a-sch.png
 
csa_etholi-v1.0a.brd
 
csa_etholi-v1.0a-brd.png

Return to Homepage