Behold because a new era has just begun :-) pPropQL ist da !
Ale
Posts: 2,363
With the sounds of cymbals I present: pPropQL : a hardware emulator of the Sincla1r QL!
* Real 68008 @ 8 MHz (1 MIPS)
* 128 K SRAM (4 cycles access), no cycle stealing needed! Video memory is mirrored into the propeller's HUB memory, reads occur from SRAM writes are routed to both
* 128 K Flash ROM (only 64 K mapped at 0x00000) 4 cycles access
+ One propeller for Video emulation
+ One propeller for the rest of IOs (microdrive emulation, RTC, serial port, keyboard, etc)
But the most amazing feature is the trace capabilities. ROM reads can be traced because the A and D buses (as well as ROMCS* and DTACK* are routed to the video prop and DTACK* is driven by the prop or grounded).
Here are the schematics and board layout (Note: there are some air wires because this is a revision B, the revision A had some misroutings but now it works.
I used simple 1k27 resistors to connect the 5V bus to the 3.3V bus and a HCT245 to buffer the databus (not really needed, but to rise the voltage). All glue logic was done with discrete components from the HCT variant, so except for the 68008 that is a NMOS part (it could be done with a 68HC001 that has 8 bit bus capabilities, or was it the SEC000 ?) it draws little current (I need to measure!).
What works so far: trace, propeller as ROM!, ROM (i used a EPROM with the JS ROM for test). Video: well, I did not get the 4 color mode working yet :-(. The rest of IOs is still not done.
Cluso: This is what kept me busy for working with my triBladeProps...
Edit: As I have some 68EC020 (the ones that are TQFP100) from another project I couldn't finish :-( :-(, I'll make a third revision with that one too. (At 16 MHz you can get up to 10 MIPS with fast SRAM!) also in 10x16 cm boards.
Edit2: Here are a couple of photos of the built board. Note: Except for the flying resistor, the rest of the components _have_ to be on the solder side by design .
Post Edited (Ale) : 4/21/2009 5:12:22 AM GMT
* Real 68008 @ 8 MHz (1 MIPS)
* 128 K SRAM (4 cycles access), no cycle stealing needed! Video memory is mirrored into the propeller's HUB memory, reads occur from SRAM writes are routed to both
* 128 K Flash ROM (only 64 K mapped at 0x00000) 4 cycles access
+ One propeller for Video emulation
+ One propeller for the rest of IOs (microdrive emulation, RTC, serial port, keyboard, etc)
But the most amazing feature is the trace capabilities. ROM reads can be traced because the A and D buses (as well as ROMCS* and DTACK* are routed to the video prop and DTACK* is driven by the prop or grounded).
Here are the schematics and board layout (Note: there are some air wires because this is a revision B, the revision A had some misroutings but now it works.
I used simple 1k27 resistors to connect the 5V bus to the 3.3V bus and a HCT245 to buffer the databus (not really needed, but to rise the voltage). All glue logic was done with discrete components from the HCT variant, so except for the 68008 that is a NMOS part (it could be done with a 68HC001 that has 8 bit bus capabilities, or was it the SEC000 ?) it draws little current (I need to measure!).
What works so far: trace, propeller as ROM!, ROM (i used a EPROM with the JS ROM for test). Video: well, I did not get the 4 color mode working yet :-(. The rest of IOs is still not done.
Cluso: This is what kept me busy for working with my triBladeProps...
Edit: As I have some 68EC020 (the ones that are TQFP100) from another project I couldn't finish :-( :-(, I'll make a third revision with that one too. (At 16 MHz you can get up to 10 MIPS with fast SRAM!) also in 10x16 cm boards.
Edit2: Here are a couple of photos of the built board. Note: Except for the flying resistor, the rest of the components _have_ to be on the solder side by design .
Post Edited (Ale) : 4/21/2009 5:12:22 AM GMT
Comments
tallyho.bc.nu/~steve/omu.html
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
For me, the past is not over yet.
I was wondering when someone would attach a 68K to a prop ( or two lol )
Nicely done! [noparse]:D[/noparse]
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
http://www.propgfx.co.uk/forum/·home of the PropGFX Lite
·
We are definately in a new prop era. The more of these projects we get for the prop, the wider the audience and usage.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Links to other interesting threads:
· Home of the MultiBladeProps: TriBladeProp, SixBladeProp, website (Multiple propeller pcbs)
· Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
· Prop Tools under Development or Completed (Index)
· Emulators: Micros eg Altair, and Terminals eg VT100 (Index)
· Search the Propeller forums (via Google)
My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm
I do not know if someone is interested but I have one extra unpopulated board and maybe an extra 68008 (that seem not that easy to find :-( ). The boards (2) cost 50 € so 1 will be 25 €, I know is quite a bit but I need it to offset the cost of the next one
That OMU was something I was looking for. Thanks!
Porting it to the pPropQL presents some challenges: change all asm to use gcc syntax. (I think this will be the best) and to reduce the amount of used memory to 128 k instead of 256k. But we have the advantage of some 64 extra kbytes of Flash (or maybe SRAM) to place the kernel there. I'll have to investigate a bit more. How to load binaries into memory once OMU is loaded will be an interesting challenge in itself I'll see what I can do!
I noted you have 2 ram/rom spaces. Your notes and the schematics indicate 1 x 128KB Ram and 1 x 128KB (possible 512KB) Eprom. You·could use the 512KB Ram AS6C4008 that I use which would give you more memory. Also, maybe you could use·another Ram instead of Eprom and block/gate the write pin to simulate rom, and load from SD card on the prop. Maybe this is a function of the Sinclair that you are emulating - I am not familiar with it.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Links to other interesting threads:
· Home of the MultiBladeProps: TriBladeProp, SixBladeProp, website (Multiple propeller pcbs)
· Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
· Prop Tools under Development or Completed (Index)
· Emulators: Micros eg Altair, and Terminals eg VT100 (Index)
· Search the Propeller forums (via Google)
My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm
Post Edited (Cluso99) : 4/20/2009 12:01:14 PM GMT
I was responsible for forming the QL Users Group (QUANTA) which is still in existence and was invited to their 21st anniversary meeting a couple of years ago. I no longer have anything to do with it, but I'm sure that your emulation will be of interest to them.
I'll let Tony Tebby know about it, he designed the QL and wrote QDOS.
Leon
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Amateur radio callsign: G1HSM
Suzuki SV1000S motorcycle
Post Edited (Leon) : 4/20/2009 1:14:32 PM GMT
How big is that board?
Is there any way to butcher it around a bit to replace the ROM with another 128K RAM ?
What I'm thinking is that with SD card there is no need for for FLASH ROM just load up the RAM from a ROM image on SD card at start up. That's what Cluso is doing for the CP/M boot loader ROM on TriBlade. Have to study your schematic some more.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
For me, the past is not over yet.
Ale: What I have working is another version (previously published) which loads a modified PropDos/PropCMD routine which displays the files on the SD card (FAT16) and can boot a prop binary which can be (it works) the ZiCog emulator. So you could just put the binary in there to load your code into the 68008 ram (rom section). And you could use the prop as a disk controller to access the SD card as a disk(s) for the 68008 (in case that isn't already your thoughts).
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Links to other interesting threads:
· Home of the MultiBladeProps: TriBladeProp, SixBladeProp, website (Multiple propeller pcbs)
· Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
· Prop Tools under Development or Completed (Index)
· Emulators: Micros eg Altair, and Terminals eg VT100 (Index)
· Search the Propeller forums (via Google)
My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm
The lower 128 K SRAM @ 0x20000 is sort of fixed because the decoding logic, and so is the PROMCS* line.
Loading the RAM with a SD image has to go via 68k because the props can not access the SRAM directly, they where wired as peripherals (No control over RD*/WE*)
heater: send me a PM if you are interested in a board/68k8 combo . And I put the rest to design/buil/test a 68k20 version (I have loads _loads_ of 68EC020 and 15 ns 5V 512Kbytes SRAMs, and 29F040s)..The glue logic is going to be done with a CPLD, I have also a couple
Edit: porting OMU got just complicated: some headers are sort of _missing_ . The four asm files compile without problems after some tweaking.
Post Edited (Ale) : 4/20/2009 1:36:39 PM GMT
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Links to other interesting threads:
· Home of the MultiBladeProps: TriBladeProp, SixBladeProp, website (Multiple propeller pcbs)
· Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
· Prop Tools under Development or Completed (Index)
· Emulators: Micros eg Altair, and Terminals eg VT100 (Index)
· Search the Propeller forums (via Google)
My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Living on the planet Earth might be expensive but it includes a free trip around the sun every year...
Experience level:
[noparse][[/noparse] ] Let's connect the motor to pin 1, it's a 6V motor so it should be fine.
[noparse][[/noparse] ] OK, I got my resistors hooked up with the LEDs.
[noparse][[/noparse]X] I got the Motor hooked up with the H-bridge and the 555 is supplying the PWM.
[noparse][[/noparse] ] Now, if I can only program the BOE-BOT to interface with he Flux Capacitor.
[noparse][[/noparse] ] I dream in SX28 assembler...
/Bamse
To load a binary file from the SD card in FAT16 format
SD:>SPIN xxxxxxxx····· where xxxxxxxx = xxxxxxxxx.BIN prop binary file (or you can setup AUTOEXEC.BAT to autoboot)
Fixed missing command above :-(
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Links to other interesting threads:
· Home of the MultiBladeProps: TriBladeProp, SixBladeProp, website (Multiple propeller pcbs)
· Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
· Prop Tools under Development or Completed (Index)
· Emulators: Micros eg Altair, and Terminals eg VT100 (Index)
· Search the Propeller forums (via Google)
My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm
Post Edited (Cluso99) : 4/21/2009 8:10:05 AM GMT
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Toys are microcontroled.
Robots are microcontroled.
I am microcontrolled.
The board is 100x160 mm two sides.
Ale: I presume it had an operating system so what was it called? Must have been out just before the Lisa and Mac. Certainly your pcb is simple (except for the glue which you have said will be in a CPLD next time). In those days, the video and disk controller would have been fairly complex. The video on the prop solves that and the SD card solves the disk.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Links to other interesting threads:
· Home of the MultiBladeProps: TriBladeProp, SixBladeProp, website (Multiple propeller pcbs)
· Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
· Prop Tools under Development or Completed (Index)
· Emulators: Micros eg Altair, and Terminals eg VT100 (Index)
· Search the Propeller forums (via Google)
My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm
Post Edited (Cluso99) : 4/20/2009 4:59:26 PM GMT
Leon: Thanks ! I have to work on the video portion .
@Cluso99: Yes, about 5 seconds after submitting my post I looked at your signature and clicked the link to your site. It is a more like what I have been wanting so I might just get one of those boards. How much does it cost to get the SMD parts soldered?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Toys are microcontroled.
Robots are microcontroled.
I am microcontrolled.
I added a couple of photos. There are some wires because you know you always forget something. The two '157 have some addresses reversed (can also be corrected in software!).
Any takers ? I can also make the pcb/sch in eagle format available if you want.
4 MB SRAM (3 cycle access, fastest)
2 Propellers, one video one extra: SD, PS/2 kbd, audio, serial port, rtc.
Glue logic was replaced by 3 small CPLDs (I have them lying around).
It will not have an expansion port (boomer :-D).
Any wishes (that can be done in a small piece of PCB) ?
very good. You didn't say, that your board will become a real computer
For those who don't know the sinclair QL: it's quite simple to find out
en.wikipedia.org/wiki/Sinclair_QL
chris
Post Edited (Chris Micro) : 4/22/2009 11:32:16 AM GMT
bonus point for those old timers who get it without googling.
Chris: I thought it was clear
Well in my sig are the updates to the wikis.
ps: If someone want to build their own, I have spare 68EC020s and 512kx8 (SOJ) SRAMs so just ask.
Have fun.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Visit some of my articles at Propeller Wiki:
MATH on the propeller propeller.wikispaces.com/MATH
pPropQL: propeller.wikispaces.com/pPropQL
pPropQL020: propeller.wikispaces.com/pPropQL020
OMU for the pPropQL/020 propeller.wikispaces.com/OMU
- I found that I reversed WE3..0 so only long writes/reads were working, enough for the stack as addresses are 32 bits as long as the stack remained aligned. Now it works correctly.
- The IO propeller now serves serial port, keyboard and SD. The SD card interface is 6 bytes, one for command/status, one for data buffer (512 writes or reads with autozero when 512 accesses have been performed.
I was thinking in the next step after OMU runs. A Coldfire could be used but I think an AVR32 would be a better option. I feel Coldfires are just old-tech. I still have plenty EC020s, do someone need some 300 of them ?
Now I think an AVR32 together with a XMOS chip would be the panacea, almost .
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Visit some of my articles at Propeller Wiki:
MATH on the propeller propeller.wikispaces.com/MATH
pPropQL: propeller.wikispaces.com/pPropQL
pPropQL020: propeller.wikispaces.com/pPropQL020
OMU for the pPropQL/020 propeller.wikispaces.com/OMU
Post Edited (Ale) : 8/11/2009 3:44:13 PM GMT
Great job on your board! I too would like to design my own computer from scratch. It sound's like a lot of fun and challenges.
I, for one, would be very interested in the eagle files. I need some examples in eagle, especially with the propeller. I am experiencing a slow learning curve.
I don't know about an AVR32, but I was thinking more in lines with an ARM because they are built for low power also. Or maybe MIPS. I sure have plenty of them arround.
Doug
Post Edited (hinv) : 8/11/2009 3:37:32 PM GMT