PinDA CPUBUS: Difference between revisions

From Appelwiki
No edit summary
No edit summary
 
(One intermediate revision by the same user not shown)
Line 2: Line 2:
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.
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.
* [[CPUBUS_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)
* [[CPUBUS_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)
* [[CPUBUS_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.
zodra de bus gedefineerd is is de bus te lezen en te schrijven.
Line 31: Line 31:
[[File:mega-6802.png]]
[[File:mega-6802.png]]


== 2716 ROM
''2716 ROM''
Voorbeeld van het uitlezen van een CHEETAH U6 rom
Voorbeeld van het uitlezen van een CHEETAH U6 rom
  CPUBUS init
  CPUBUS init
Line 45: Line 45:
[[File:cheetah.jpg]]
[[File:cheetah.jpg]]


== PIO 6821
''PIO 6821''
 
[[File:cpubus_pio.jpg]]
[[File:cpubus_pio.jpg]]
   //A als ingangen
   //A als ingangen
   Cpubus.write( pia_cra,0);
   Cpubus.write( pia_cra,0);

Latest revision as of 16:59, 5 April 2013

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.

  • CPUBUS_DIRECT, de data en adres lijnen komen direct overeen met lijnen op de arduino.
  • CPUBUS_SPI, de data en adres lijnen worden door twee 16 bits IO extenders gestuurd via een SPI koppeling. (arduino/rpi)
  • CPUBUS_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