6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Fri Apr 26, 2024 7:59 pm

All times are UTC




Post new topic Reply to topic  [ 3 posts ] 
Author Message
PostPosted: Sat Mar 26, 2016 9:49 am 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10793
Location: England
Sam Falvo's original Kestrel project was ROMless, booting under control of a PC's parallel port using shift registers to control the busses (and the BE pin to get the CPU off the bus)

But there's no surviving schematic of his idea, and PC parallel ports are hard to come by.

So, how about using the I²C port which comes with your handy VGA port? At least in Linux and with most graphics hardware it's possible to send i2c communications, which you can test by interrogating your monitor.

Image

(We're warned not to write to any other I²C port in case of bricking your computer.)

Code:
$ sudo apt-get install i2c-tools
$ sudo modprobe i2c-dev

$ i2cdetect -l
i2c-0   unknown         i915 gmbus ssc                          N/A
i2c-1   unknown         i915 gmbus vga                          N/A
i2c-2   unknown         i915 gmbus panel                        N/A
i2c-3   unknown         i915 gmbus dpc                          N/A
i2c-4   unknown         i915 gmbus dpb                          N/A
i2c-5   unknown         i915 gmbus dpd                          N/A
i2c-6   unknown         SDVO DDC proxy                          N/A

$ sudo i2cdetect 1
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-1.
I will probe address range 0x03-0x77.
Continue? [Y/n]
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- 37 -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: 50 51 -- -- 54 55 -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --                         

$ sudo i2cdump -r 0x5f-0x68 -y 1 0x50 b
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
50:                                              53                   S
60: 79 6e 63 4d 61 73 74 65 72                         yncMaster       


Quote:
Probably, the easiest way to use an I²C device on Linux is the Python SMBus module...


Whereas Sam used five 595s:
Quote:
the IPL circuitry for the Kestrel-1 ... just used 74ACT595 chips.

Quote:
The outputs of the 74HC595s used in the IPL circuitry have nice, clean outputs, about 10ns rise times, and in my circuit, 13ns fall times.
we'd need five 8574s or perhaps two and a half 8575s (aka MCP23017, perhaps)

Or, instead of the VGA port of a PC, you could use a Raspberry Pi (3V3 alert) or an Arduino.


Top
 Profile  
Reply with quote  
PostPosted: Sat Mar 26, 2016 7:03 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8428
Location: Southern California
Nice! I didn't know the VGA port incorporated I²C! (Unfortunately VGA seems to be going south too though, in favor of HDMI.)

_________________
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?


Top
 Profile  
Reply with quote  
PostPosted: Sat Mar 26, 2016 7:34 pm 
Offline

Joined: Sun Jul 28, 2013 12:59 am
Posts: 235
GARTHWILSON wrote:
Nice! I didn't know the VGA port incorporated I²C! (Unfortunately VGA seems to be going south too though, in favor of HDMI.)

I2C wasn't part of the original VGA port, but got added at some point along the line. As far as HDMI goes, there's still an I2C interface there for display data, and I suppose that the worst-case option is an HDMI->DVI adapter and then picking off the display data channel at the DVI port... Might be worth the experiment?


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 3 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 34 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron