a DIY home build project...

The Thor, Aurora, Q40, Q60 & Q68 etc. are discussed here.
User avatar
Peter
QL Wafer Drive
Posts: 1949
Joined: Sat Jan 22, 2011 8:47 am

Re: a DIY home build project...

Post by Peter »

Pr0f wrote:[...] finally a cog to act as the interface to the QL's ZX8202 chip - using the bizarre bit bang protocol that's on there.
This seems the most difficult part. So difficult, that I'd rather implement the full 8049 if I had to do an FPGA implementation.

How would you gather the protocol specification?


User avatar
Pr0f
QL Wafer Drive
Posts: 1297
Joined: Thu Oct 12, 2017 9:54 am

Re: a DIY home build project...

Post by Pr0f »

I have the source for the original 8049 code, and the Minerva and JS ROM source / dissasemblies.

The technical guide and the SuperHermes manual also have good information about the IPC trap, and there is good info on the Mist site about the IPC comms mechanism between the ZX8302 and the 8049.

The good thing is that the propeller lends itself to serial protocol work. I've made little converters for DCC model railway signals to serial port, and vice versa, and other serial protocol adaptors. Development for the chip is quite straight forward too. Making sense of the QL sound is perhaps the most difficult ;-) In particular fuzzy and random !


User avatar
Peter
QL Wafer Drive
Posts: 1949
Joined: Sat Jan 22, 2011 8:47 am

Re: a DIY home build project...

Post by Peter »

You seem to be very familiar with the propeller, but have you considered an FPGA? The propeller chip seems not 5V tolerant, no advantage over an FPGA there. And you will need complex logic for your video circuitry anyway.

An FPGA would at least leave you the option to use the T48 core with the existing firmware, instead of re-inventing the wheel. I know that re-inventing the wheel can be fun, but with an FPGA you'd have a fallback solution. Just in case the propeller implementation of the IPC becomes very time-consuming.


User avatar
Pr0f
QL Wafer Drive
Posts: 1297
Joined: Thu Oct 12, 2017 9:54 am

Re: a DIY home build project...

Post by Pr0f »

I'm planning on using an FPGA for the video component, but wanted to make the projects separate so that there is some potential mileage as standalone projects. The propeller is more than sufficient for the task of replacing the 8049 and offering extra goodies on top, but development cycles are quicker with it. I can also test the functionality of the final design for my own DIY build before I have even got a PCB set up, as it will just be straight 8 bit serial comms in the final design, so a PC can be used to scan keyboard's and check mouse data and produce the sound. Indeed, I can even have that working in tandem with the bit banged commdata / comctl interface by running it in another cog.

By separating out the sections I need, I can test them in isolation, and with existing QL hardware before putting them together in the final project - If I put everything in an FPGA, then I lose some of that modular approach. I can even attach a monitor and keyboard to a single line of the propeller for debugging.


User avatar
Pr0f
QL Wafer Drive
Posts: 1297
Joined: Thu Oct 12, 2017 9:54 am

Re: a DIY home build project...

Post by Pr0f »

And with regard to the 5v tolerance - that should not really be an issue for the keyboard matrix, which are the majority of lines used for the QL, The PS/"2 lines will connect directly, sound just drives a transistor, and that only leaves the links to the Zx8302 (2 required), and if I put the serial port logic on board, the 3 lines for that too (combined RX, DTR and CTS), that wasn't in the plan but I will make allowance for it in case someone is interested in full 8049 feature support. A few resistors will take care of that.


User avatar
tofro
Font of All Knowledge
Posts: 2679
Joined: Sun Feb 13, 2011 10:53 pm
Location: SW Germany

Re: a DIY home build project...

Post by tofro »

Actually, none of your arguments really speaks against an FPGA. The best one possibly is that you stick with what you know and most feel at home with when having the choice between a µC and programmable logic - I would do the same (but maybe wouldn't use a Propeller, as I don't have a single clue on it...).

Tobias


ʎɐqǝ ɯoɹɟ ǝq oʇ ƃuᴉoƃ ʇou sᴉ pɹɐoqʎǝʞ ʇxǝu ʎɯ 'ɹɐǝp ɥO
User avatar
Pr0f
QL Wafer Drive
Posts: 1297
Joined: Thu Oct 12, 2017 9:54 am

Re: a DIY home build project...

Post by Pr0f »

tofro wrote:Actually, none of your arguments really speaks against an FPGA. The best one possibly is that you stick with what you know and most feel at home with when having the choice between a µC and programmable logic - I would do the same (but maybe wouldn't use a Propeller, as I don't have a single clue on it...).

Tobias
I wasn't speaking against the FPGA option so much as to explain why I chose a propeller for the job - apart from perhaps in my comment about modularity and turn around time on development. I have played with FPGA's a little and they are excellent for complex logic and speed - I don't really need either of those for this part of the project. I could have used a PIC as well - as I play a lot more with these, but it isn't as good a fit as the propeller for this particular job.


User avatar
Peter
QL Wafer Drive
Posts: 1949
Joined: Sat Jan 22, 2011 8:47 am

Re: a DIY home build project...

Post by Peter »

Pr0f wrote:The propeller is more than sufficient for the task of replacing the 8049 and offering extra goodies on top,
My point was not performance, but that in case of the propeller, you need to re-implement everything until it finally behaves the same as the IPC.
In an FPGA, you just wire an opensource 8049 core, add the right ROM contents, and are done.
Pr0f wrote: but development cycles are quicker with it.
Yes, but with an FPGA you don't need to re-implement the IPC, so you don't have the development cycles in the first place.


User avatar
Pr0f
QL Wafer Drive
Posts: 1297
Joined: Thu Oct 12, 2017 9:54 am

Re: a DIY home build project...

Post by Pr0f »

The point is I don't want to completely mimic the 8049, that's not my goal. I also don't have to completely re implement everything.

The task the propeller will fulfil is to provide keyboard / sound and eventually network for the BBQL. It will not provide serial function - I have a DUART for that.

I can test my ps/2 keyboard and mouse and the QL matrix keyboard and sound by changing just the part of the propeller code that talks to the ZX8302 - as that let's me test this in the original QL hardware. Then on my PCB it will talk to a serial port from the 68901 chip. The beauty of this is that I will know that my IPC replacement works as for keyboard / sound before it's even implemented on the new PCB. After all - this is a compatible not a clone.


User avatar
Dave
SandySuperQDave
Posts: 2765
Joined: Sat Jan 22, 2011 6:52 am
Location: Austin, TX
Contact:

Re: a DIY home build project...

Post by Dave »

Tell me about this DUART... Which one did you select? Is it functional? How fast will it go? Would you be willing to share? It would greatly help with my networking development. :D

*whispers* It's my birthday. Make it special!

As far as propellor vs. FPGA - I think you're both wrong! :P

The 8049 seems to be what was left over and couldn't fit in the 8302. It's essentially an IO expander of the 8302 for most of its functionality, plus some timing functions. If you take a unified approach and use a single device to replace the functionality of the 8302 *and* 8049, you'd be in a much better place. The serial communication 8049 -> 8302 is a real bottleneck.

Propeller or FPGA? Not the most important question. Certainly shouldn't be a show stopper that prevents people developing and moving forward...


Post Reply