PinDA CPUBUS

From Appelwiki
Revision as of 13:04, 31 March 2013 by Arco (talk | contribs)

De CPU bus is een interface naar de memory/databus van de cpu borden. Omdat de besturing mogelijk is door alle lijnen direct aan te sturen of door IO extenders te gebruiken is er een soort abstractie laag gemaakt.

  • Direct, de data en adres lijnen komen direct overeen met lijnen op de arduino.
  • SPI, de data en adres lijnen worden door twee 16 bits IO extenders gestuurd via een SPI koppeling. (arduino/rpi)
  • I2C, de data en adres lijnen worden door twee 16 bits IO extenders gestuurd via een I2C koppeling. (arduino/rpi)

zodra de bus gedefineerd is is de bus te lezen en te schrijven.

  • constructor(bustype, MPUtype, snelheid)
  • read_byte( address )
  • write_byte ( address, value )
  • read_word( address )
  • write_word ( address, value_16 )


Arduino Mega -> 6802 socket

PA0-7 A0-A7
PC0-7 A8-A15
PL0-7 D0-D7
PF0   R /W
PF1   E
PF2   VMA
PF3   /RESET
PF4   /HALT
PF5   MR
PF6   /IRQ
PF7   /NMI


Error creating thumbnail: Unable to save thumbnail to destination

== 2716 ROM Voorbeeld van het uitlezen van een CHEETAH U6 rom

CPUBUS init
READ FROM 0 = 87
READ FROM 1 = 248
READ FROM 2 = 0
READ FROM 3 = 0
READ FROM 4 = 19
READ FROM 5 = 16
READ FROM 6 = 1
READ FROM 7 = 80
Error creating thumbnail: Unable to save thumbnail to destination

== PIO 6821

Error creating thumbnail: Unable to save thumbnail to destination
 //A als ingangen
 Cpubus.write( pia_cra,0);
 Cpubus.write( pia_ddra,0);
 // B uitgang
 Cpubus.write( pia_crb,0);
 Cpubus.write( pia_ddrb,255);
 Cpubus.write( pia_crb,4);
 // met om en om patroon
 Cpubus.write( pia_ddrb,0x55);

Geeft op de monitor:

PRA = 251
DDRA = 0
CRA = 0
PRB = 85
DDRB = 255
CRB = 0


PinDA - CPUBUS - MC6821