Faster/wider CPU...

Nagging hardware related question? Post here!
RWAP
RWAP Master
Posts: 2834
Joined: Sun Nov 28, 2010 4:51 pm
Location: Stone, United Kingdom
Contact:

Re: Faster/wider CPU...

Post by RWAP »

I would not want to put a downer on what has been a lively discussion (even though most of it has been beyond me).

Please correct me if I am wrong.

I guess the issue boils down to Dave wanting to get the maximum out of the existing QL hardware and software - it has to be remembered that a lot of QL users have invested a lot of time and money into their QLs, learning the intricacies of the operating system and its software/hardware and there remains a fondness for the original machines.

On the other hand, Brane appears to want to keep the spirit of the QL, but design a single chip computer to replace much of the hardware. His comments may sometimes be seen as off-hand and curt, but to some extent that probably reflects 'lost in translation' and his nature, without him meaning any harm. Re-designing the QL from scratch could well be a good thing, but if we take out the QL software and operating system, we then have a new computer entirely and QL users would be left with a machine that is largely incompatible with their existing hardware and software.

Personally, I would prefer Dave's solution as an upgrade path for existing QLs.

That said, I would also support a new QL replacement which could be based on entirely new hardware, provided that a QDOS or SMSQ/e operating system were available - I continue to like the simplicity of programming in SuperBASIC, coupled with the ability to program easily in machine code (to get the maximum speed and flexibility) and the half-way house of them compiling the finished program.

That is certainly what I used to bring QWord to the market.

Yes, QWord could have been written in Visual BASIC to run on PCs without needing machine code, but then where is the challenge in that and how does that further my knowledge of the QL and SMSQ/e.

So, yes, I would like to support both Brane and Dave in what they can do and achieve - as new hardware and different approaches are needed to help keep the QL scene alive and remain attractive to a whole range of users


twellys
Bent Pin Expansion Port
Posts: 84
Joined: Tue Jun 28, 2011 11:00 am
Location: Boston Spa

Re: Faster/wider CPU...

Post by twellys »

Hmm, Dave's idea is, I think, like a modern version of the GC, just his version. I like his idea.

As for me, I'd take Dave's/GC/SGC, mix it with ethernet, and put a great dirty FPGA on top for the CPU (Hey, I'm a FPGA Engineer - don't spoil my dream!). Unfortunately, my gantt chart is showing 2040 for completion...



ho hum.

:geek:


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

Re: Faster/wider CPU...

Post by Dave »

I'd just like to go back a few posts and reply to one point by Brane2 then move on.

"You don't want to use CPLDs because of price."

I do not want to use CPLDs because of cost, not price. The cost of learning, acquiring the infrastructure to create, program, test and use CPLDs, the time involved (in years)... Instead, I would far prefer someone with wide experience to say, "Hey, I have that down already, and I have some ideas. I could do a video/serial CPLD that could implement video and serial in a way that is transparently compatible to existing QDOS/SMSQ *without changes* and, hey, I can maybe, if time permits, do a FDD and IDE/Compact Flash unit for the design too.

This way, the cost of that work has largely already been spent by someone who already hads that infrastructure and skill in place.

As soon as two or three people come together with that kind of constructive attitude, the thing can be built and tested quickly and cheaply.

What's more, we end up with logic schematics that can move forward towards implementing the 68k core and both sections of external logic in a single CPLD and voila! A single-chip QL.

I have mostly worked with SMD boards using smaller or pre-defined components, and any time I have brushed against the dark arts of CPLDS, beyond PAL/GAL it has been with the strong guidance/support of someone else...

The thing that strikes me is that when you delete the microdrives, net and joystick ports, the QL simplifies greatly. Also, a larger part of the complexity of the design comes from the late adoption of the 68008 over the 68000.

In the event that for this project I can find one or two people willing to donate time and skills, I plan to take a long winded route - next post!


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

The long and winding road...

Post by Dave »

I had many formative experiences that have shaped my idea of "the ideal computer" - and with the QL it was the device independence as expressed by the OS. Once I knew how to read from or write to a device, I knew how to read from or write to any device.

My take-home from my Risc PC was a hardware one. The chipset was broken down by function, with four chips involved: ARM chip (processing), VIDC (video generation), IOMD, (input/output) and MEMC (memory controller) and each could be revised and substituted without affecting the rest.

Combine these two items of personal discovery with a deep affection for my old QL, set against the problem of getting it to work reliably, or even at all.

Now, one of my greatest mistakes was to inadvertently reveal details of Peter Graf's single chip design. I didn't know how much of the info was in the public domain and over-shared on the ql-user list. I wish their was a way to apologize and put the worms back in the can, but now Peter has to field a lot of unnecessary commentary/requests. The chances he would work with me in future (I would love to help him complete/produce some projects) are remote. I sorely regret this, as I would have loved to have respun the PCB and licensed the chip from him, using Minerva.

Like the Raspberry Pi, I see the need for a Model A and a Model B. The Model A serves the purpose of re-implementing the hardware in a 16-bit way, with no changes to the core OS that in any way affect any functionality of anything in userspace. The Model B being the next iteration - re-implementing that defined hardware base in a simple, cheaper, faster way, whilst retaining the expandability to add things like ethernet, etc.

Some people can do A in their heads and jump to B. However, it is a huge task that requires huge resources and involves a horrible catch-22 - bringing up a modified OS for the first time on modified hardware. If there's a problem and it falls over, what fell over? How do you test a non-running system?

To be clear, the market for QL hardware is so small, there is no or little money to be made in it. As PG and Nasta have indirectly said, there's a world market for maybe 200 QLs. However, there is a market for a small, embeddable, real time OS multi-tasking computer with an easy OS and programmability that ISN'T run on Linux or Windows. What I am saying here is that we can make something happen, but it would be smart of us to design not just for the majority's existing needs, but to invite sales of the board into other markets, or as some of my friends call it, "Arduino-space!" Have those markets subsidize the board for the QL users, to keep costs down.

So, how about some specifications for this machine?

68000 16MHz, 4MB static RAM, 32k video RAM with VGA or DVI output, GD2 compatible (in future?)
2xIDE, 2xCF (basically IDE), 2xFD, 10/100 Ethernet, ATX power, PS2 keyboard, option for keyboard membrane. It would be nice to have some form of expansion/prototyping port and parallel/GPIO.

For the IDE/CF, an issue is limitations of the FS making large storage unwieldy. I would like to see a sister project develop a block filing system for large devices that doesn't sink large amounts of QL memory, and get slower as it gets bigger.

I'd like to have a small bootloader, and load the selected OS into SRAM, so people could quickly select/change OS/environment. I realize this is the hardest aspect of the entire project from my POV, and that OS/SW are the hardest elements.

Now, I can see people twitching to reply with how these decisions are wrong. These decisions aren't designed to create the ULTIMATE QL, but to create a QL clone that can actually be designed and built within the lifetimes of the remaining pool of skills and resources available for such a financially demanding venture.

Someone recently expressed the opinion that open-sourcing projects harms them in cases like this, because the project gets diluted to where nobody can make a profit. I agree and disagree wholeheartedly. For this reason, I'd like to see the project develop behind closed doors, out of view of the peanut gallery, and then when people buy a board, they also buy a disk containing the schematics, gerbers, all necessary files, and so forth. Once the supply of boards was exhausted, the disk contents would be published on the net. At any time, anyone can get access to the information by simply contributing ;)

Obviously, a few key players would need to have functioning prototypes for driver/OS development.

Related goals include discussions with relevant parties to secure rights to use/modify Minerva or SMSQ/E on the boards (and QDOS in the US) and TK2 of course.


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

Re: Faster/wider CPU...

Post by Dave »

I'll just go out and buy a PC and totally get right on that.


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

Re: Faster/wider CPU...

Post by Dave »

They have s/w for Windows and Linux - I use OS X. I have a headless linux webserver or 20, but they're headless...


User avatar
dilwyn
Mr QL
Posts: 2753
Joined: Wed Dec 01, 2010 10:39 pm

Re: Faster/wider CPU...

Post by dilwyn »

All this discussion has been a bit beyond me too, but is still interesting nonetheless.

I guess some people will be interested in new super gold card type (albeit much more modern) of plug-in expansion for QL, some people would be interested in an enhanced motherboard type solution, some in the FPGA-system as dicussed and some in any other even more advanced proposal, as long as reasonably affordable. The Q40 and Q60 machines were great at the time, but expensive.

For one, I just hope Peter Graf manages to get his FPGA system going despite the issues he's had with an OS for it.

I'm also interested in what Mr Navigator has been saying about using the RaspberryPi for example. I liked the idea of adding the keyboard he saw on Amazon to the QL case, RPi innards running a QL emulator. Gives one possible two-in-one machine solution to all this for those who prefer Linux and gives a means of using the QL case for those who'd like to keep it for Nastalgia and appearance's sake.

With an RPi inside a QL case it would be pretty self-contained and all the connectors could be neatly round the back, so you'd only have the monitor, RPI-QL (or whatever it got called) and any other plug-in bits. Probably not progress in the true sense of the word but a neat little combined Linux+QL solution.

Personally I use a Windows 7 PC with QPC2 and I am happy with that system for all my needs at present. I don't have much room in the house for other systems, but might at some point be interested in learning Linux, so the idea of putting a RPi in an old QL case with better (more suitable) keyboard for Linux and a QL emulator such as uQLx or even the Linux QLay as a second (learn Linux) machine. Using the QL case would probably be pure nostalgia I guess, it'd probably be easier to put the RPi into some PC keyboards.

Everyone has their own ideas for what's best and although the discussion gets a little heated occasionally, floating new ideas of all sorts is always good. If just one or two ideas come to something it's good.

Dilwyn


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

Re: Faster/wider CPU...

Post by Dave »

I'm all for people expressing their ideas to me. I'm just resistant to people telling me my ideas are wrong/incorrect/non-optimal when I said up-front that I wasn't trying to do an optimal project, but one that can most easily be completed.

As soon as "ability to complete" enters the equation as a major factor, it changes everything.

Maybe I should start with a much simpler project, as has been suggested. I could do a simple 512K SRAM expansion that is a very low power three chip design. Just need to remember everything I learned back in 84 about the address decoder in the 512K expansion we did then ;)


MemoryLaneComputing
ROM Dongle
Posts: 9
Joined: Sat Mar 19, 2011 10:51 pm

Re: Faster/wider CPU...

Post by MemoryLaneComputing »

dilwyn wrote: I'm also interested in what Mr Navigator has been saying about using the RaspberryPi for example. I liked the idea of adding the keyboard he saw on Amazon to the QL case, RPi innards running a QL emulator. Gives one possible two-in-one machine solution to all this for those who prefer Linux and gives a means of using the QL case for those who'd like to keep it for Nastalgia and appearance's sake.
This actually highlights a fundamental question about this whole thread. For the majority of people, an emulation solution, on whatever platform, is likely to be more efficient for anyone who has a need or desire to continue using QL software. If you take QPC2 or Q-emuLator and put them on even an entry level PC today, then you instantly get a QL with more than adequate performance for any likely task. If you think about it, QPC2 doesn't even really emulate a true QL, anyway - it's more of a "Virtual QL" that has moved on significantly from the original design.

It sort of gets you to asking the question "Why bother?" when discussing building new hardware. But I think there is a demand for new "real" hardware. It's mainly from the hard core hobbyists and enthusiasts, those people (and I number myself amongst them) who would like to see a new QL platform using some contemporary technology. Probably we're giving in to nostalgia, but it's a hobby, and it gives us enjoyment, so that's really the only justification needed to build something like this.

In my opinion, the only sensible route for such a project is to use an FPGA. That also gives you a significant degree of future proofing, allowing you to leverage the core on newer, faster devices. It also reduces hardware design and build costs and simplifies upgrading.

But Dave's ideas are also perfectly valid. If you have some hardware that you are familiar with and are comfortable with, then use it. I happen to like 74 series logic as well and using a "genuine" 68XXX chip (or derivative) is a good way of recreating the spirit of the 1980s home micro years.

There have been some comments made here about how simple it is to slap a schematic into a modelling tool and have it flash the resulting design into the target FPGA. Whether you use schematic modelling or a hardware description languages such as Verilog, I cannot agree that it is that simple, at least not for the project that we are discussing here. There are a lot of other things going on in that process, not the least of which being the synthesis stage which is largely invisible to the developer, yet can produce physical implementations that do not perform as your design intended. There can be a lot of work involved in sorting those issues out - and sometimes it really is easier to desolder a piece of hookup wire and move it one pin to the left :)

I hope there eventually will be a new "QL Redux". I believe it can and should be done, if for no other reason than it is an interesting and challenging project. But perhaps the real question that we should be asking is who is going to write all of the new software that will be needed to take full advantage of such a platform?


twellys
Bent Pin Expansion Port
Posts: 84
Joined: Tue Jun 28, 2011 11:00 am
Location: Boston Spa

Re: Faster/wider CPU...

Post by twellys »

Although there is probably a critical mass for a 'QL Redux' in hardware (MemoryLane, Peter, PPE, Dave, et al.), I'm not sure there is enough people to rewrite the OS and produce some software that shows off the new features.

Adrian / Peter / PPE - Willing to test / debug new / updated hardware for you. Unfortunately, I'm a contractor at present and home for a weekend in two weeks.

Dave - I'm splitting hairs, but you could have a virtual machine running RHEL/CentOS on your OS X - My former boss did.

Brane2 - The CoolrunnerII would be better - more obsolence proof than XL9500 - ready in a starter-kit for $59 - all you need is some cheap as a chips voltage conversion buffers.
- Most of the EDA software expects a Linux version of 2.4/2.6 - I know Linus changed the version number to 3.* but most of EDA software still wants 2.4/2.6 - Latest version of RHEL/CentOS is only 2.6.32.

Cheers,
T.
(15 years in FPGAs/ASICs development)


Post Reply