Hi, all,
I'm back from the weekend break now, and just catching up.
Brace yourselves, because this will contain a lot of links / rambling. hehe...
You are correct, @Willyarma - the DUART registers seem to be accessed indirectly in the code.
I know a fair bit of 6502 code, but not quite so familiar with the 6809, so it confused the hell out of me as well at first. lol
But, I'm still not quite sure where the serial routines are, because this part seems to be writing to 0x5002 instead of 0x5003?
Mr Dexter confirmed the other day that the address lines [3:0] on the CPU do connect directly to the SCN2681 / MC2681 chip directly, so the mapping is probably correct.
That is unless there's an endianess issue somewhere in IDA, and register 0x5003 IS actually the RX/TX Holding Reg for serial port "A"?
I made a bit of progress on Friday with getting the Ramcorder ROM running on the DE1 FPGA board too...
Not a huge amount added to it yet, but I think the serial stuff could be spoofed quite easily once the routines are figured out...
https://paste.ofcode.org/5WXFAHdfEmeZChhtWaK4CLI managed to get the classic Paintbox (DPB) ROM sort of running under MESS many years ago, but I'm not so great with C/C++, so didn't get much further with it. lol
I did get it running on the DE1 as well though, and implemented many of the original boards from the DPB, but never quite got to the point of getting it to boot into the "painting" GUI.
For the serial port stuff on the "DE1 Paintbox", I simply spoofed the status reg for the UART using the flags from the serial TX / RX blocks, and it worked fine via the proper RS232 port on the DE1.
The same could be done for the Ramcorder code, but it looks like it makes good use of the IO ports, timers / counters, and interrupts instead, so may take a while to get running properly.
The Ramcorder version could be quite interesting, as we would also like to start doing some SDI stuff, so it would be great to collaborate on this.
I think the resulting device could make good use of a Rasp Pi for streaming the frames, but I'm not quite sure if it would be up to the task of delivering each frame in an instant (even with SD resolution)?
The Rasp Pi thing would work a bit like the aptly named "Dexter" device for replacing ageing Laserdisc players in arcade cabinets. The Dexter board is a "bargain" at only $399.
http://laserdisc-replacement.com/I definitely want to make a small PCB with the SDI Tx / Rx chips on it now. I stumbled upon this the other day...
http://www.ti.com/product/CLC021And a PCB project by Mr Citrus...
https://oshpark.com/shared_projects/YO08zbhtI did set up an FPGA project for the board that Mr Dexter has, which should output an SDI test pattern.
But, we weren't quite sure about the proper way of driving the cable, so haven't tested it out yet.
I think it might even work OK for shorter cable runs to just drive it via a resistor tbh, but yeah, it would be far easier to just use the proper SDI chips to handle that.
Anywho, yep. A ton of stuff to discuss, but some interesting project ideas.
I'll make a start now on my own PCB that uses those Ti SDI chips, but include both the Tx and Rx on the same board.
EDIT: I did a screen capture of the whole process of designing a PCB in Eagle for the SDI TX chip.
It's an "exciting" 49 minutes of me doing the usual pedantic game of trying to get the ground plane between as many traces as possible. lol
https://drive.google.com/open?id=1fMbVXHp9pNuMu07OivV6nsVXj_5cipY4That CLC021 chip costs around £30 btw, so not at all cheap.
I'm thinking maybe we should just test the SDI output directly from the FPGA itself, as the entire dev board I sent to Mr Dexter barely cost much more than that.
I don't think the "direct" SDI output from the FPGA would manage higher than 480i/576i/480p/576p resolutions, but that's perfect for the Paintbox stuff.
OzOnE.