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.

CS/A65 IEC

This board implements an IEEE488 interface, as well as a Commodore serial IEC bus interface, as used in the VIC20 and C64 (and others).
  •  
    2006-11-01 Board is deprecated. Use PETIO board instead.
  •  
    2006-11-01 Added driver code.

OS/A65 V2 IEEE488 driver

This is the parallel IEEE488 and serial IEC driver code for the fsiec OS/A65 filesystem process. It implements the hardware access with the following methods:
  • IECINIT - Initialize the hardware
The following methods are used when the filesystem runs as a device (like CBM2031). This part is enclosed with the conditional variable NOLOOP. This part also handles a directory hierarchy with the CD command. This part is only available for the parallel IEEE488 interface, not the serial IEC bus.
  • RETLOOP - clear the bus
  • INLOOP - detect ATN activity and react as a device
  • talkloop - called from INLOOP to send data (TALK)
  • listenloop - called from INLOOP to receive data (LISTEN)
  • sendcmd - interpret the command channel
  • open - open a file
The following methods are used when the filesystem is running as bus master (similar to PET or C64). This part is enclosed with the preprocessor conditional variable NOFS.
  • iec0out - send a byte with ATN set
  • iecout - send a byte
  • sectalk - send a secondary talk
  • seclisten - send a secondary listen
  • IECIN - receive a byte
  • UNLISTEN - send unlisten
  • UNTALK - send untalk
  • getif - get interface using PSEM() and/or CTRLNMI()
  • freif - release interface using VSEM() and/or CTRLNMI()
Unfortunately, due to its age, the code is a mess, but works in GeckOS/A65.
 
piec_csa_master.a65(parallel IEEE488 Driver code, excerpt to use as bus master)
 
piec_csa_drive.a65(parallel IEEE488 Driver code, excerpt to use as IEEE488 drive)
 
siec_csa.a65(serial IEC Driver code (bus master only))

OS/A65 Beeper driver

This driver handles the piezo beeper included in this board. It provides the three methods
  • inibell - initialize the bell
  • trigbell - trigger the bell sound
  • bellirq - interrupt code that modulates the bell ring until the ring is finished. Should be called with 50Hz or the count values must be modified.
 
con_csa.a65(excerpt from console driver)
 
via6522.i65(VIA register definitions)

Version: 1.1B

Status: ok

Notes

 
This board is only partially compatible with the Commodore PET IEEE488 interface, although it uses the same I/O address. It adds, however, the ability to be used as a device (for both the IEEE488 and the IEC bus).
 
This board is deprecated. Please use the PETIO board instead.

Files

 
csaiecdesc.txt
 
csaiecparts.txt
 
csaiec.fig
 
csaiec.png
 
csaiec.ps.gz
 
csaiec.jpg

Last modified: 2006-10-13.

Return to Homepage