I2C for the Oric
Posted: Sun Jan 12, 2020 10:02 am
Having recently completed (if it can ever be said to be completed).....I'll start again
Having recently got a working model of a 65C02 breadboard computer (picture attached) which contains an I2C interface on Port A of the 6522 via (bottom right chip).
Port B is a PS/2 keyboard. The I2c is connected to a 4 line LCD display.
Looking at info online, it seems that the printer port on the oric is connected to Port A of the via along with the AY-3-8912.
So would I be correct in assuming I could setup the printer port as an I2C interface with a modified version of the rom code (to be loaded into ram and possibly extending basic). With Port A of the via being bi-directional , it could be used for input as well as output. Could allow for LCD displays, real time clock, a multitude of sensors etc etc etc.
In the oric, the via is memory mapped so should be easy to talk to. Can switch between I2C and AY chip using the via control lines.
Before I start, am I missing something obvious which would prevent this from working?
Has anyone tried this before and hit a brick wall?
The rom code in the 65c02 only uses the PHX/PHY/PLX/PLY extra instructions which can easily be replicated in a macro so thats not an issue.
Building this has given me a great insight into the inner workings of 8 bit machines and the idea was to be able to transfer this knowledge across to the Oric amonst others.
For those that are interested , the breadboard machine lookint at top left then going down the "column" of chips is
1) 29ee010 EEPROM (16Kb used out of 128k)
2) as6c400 Static Ram (32Kb available from 512k!!)
3) 65C02 processor - used for its ability to slow the clock and even manually single step.
4) 2nc 6522 Via (not connected)
2nd column
5) 74ls00 Quad 2 input nand gate - main part of memory glue logic
6) 74ls138 3 line to 8 line multiplexer - selection of via chips
7) 74ls04 - hex invertor and 1.8mhz crystal for the system clock.
8 68b50 Acia - for serial port connection - machine can run independant or with serial connection to pc .
9) 6522 VIA - with I2c connection (Port A left) and PS/2 keyboard connection (Port B right).
Other bits - 7805 voltage regulator, on./off swicth, reset button, 4 line 20 col i2c lcd display.
Rom image is modified collections from all over the internet but based around the 2014 retrochallenge rom monitor.
Hopefully this will become my next little project.
Ian
Having recently got a working model of a 65C02 breadboard computer (picture attached) which contains an I2C interface on Port A of the 6522 via (bottom right chip).
Port B is a PS/2 keyboard. The I2c is connected to a 4 line LCD display.
Looking at info online, it seems that the printer port on the oric is connected to Port A of the via along with the AY-3-8912.
So would I be correct in assuming I could setup the printer port as an I2C interface with a modified version of the rom code (to be loaded into ram and possibly extending basic). With Port A of the via being bi-directional , it could be used for input as well as output. Could allow for LCD displays, real time clock, a multitude of sensors etc etc etc.
In the oric, the via is memory mapped so should be easy to talk to. Can switch between I2C and AY chip using the via control lines.
Before I start, am I missing something obvious which would prevent this from working?
Has anyone tried this before and hit a brick wall?
The rom code in the 65c02 only uses the PHX/PHY/PLX/PLY extra instructions which can easily be replicated in a macro so thats not an issue.
Building this has given me a great insight into the inner workings of 8 bit machines and the idea was to be able to transfer this knowledge across to the Oric amonst others.
For those that are interested , the breadboard machine lookint at top left then going down the "column" of chips is
1) 29ee010 EEPROM (16Kb used out of 128k)
2) as6c400 Static Ram (32Kb available from 512k!!)
3) 65C02 processor - used for its ability to slow the clock and even manually single step.
4) 2nc 6522 Via (not connected)
2nd column
5) 74ls00 Quad 2 input nand gate - main part of memory glue logic
6) 74ls138 3 line to 8 line multiplexer - selection of via chips
7) 74ls04 - hex invertor and 1.8mhz crystal for the system clock.
8 68b50 Acia - for serial port connection - machine can run independant or with serial connection to pc .
9) 6522 VIA - with I2c connection (Port A left) and PS/2 keyboard connection (Port B right).
Other bits - 7805 voltage regulator, on./off swicth, reset button, 4 line 20 col i2c lcd display.
Rom image is modified collections from all over the internet but based around the 2014 retrochallenge rom monitor.
Hopefully this will become my next little project.
Ian