Shop OBEX P1 Docs P2 Docs Learn Events
DracBlade emulated on DE-115 — Parallax Forums

DracBlade emulated on DE-115

steddymansteddyman Posts: 91
edited 2014-11-29 11:46 in Propeller 1
I've started my first project which is to experiment with recreating the DracBlade on the DE-115 (as mentioned on the Retro Machine thread). It is mapping the hardware that would normally be on the DracBlade onto the native hardware on the DE-115 (e.g. the VGA is output from the ADV7123 but driven directly by the standard SPIN video code).

I haven't yet figured out how best to emulate the EEPROM that the prop usually boots from, but I've just tried compiling both the Spectrum Emulator and also the DracBlade rom and to my surprise both booted when transferred using the prop plug.

The DracBlade rom displays the welcome message, then shows Er1. I'm not sure if it is looking for something on the SD card here.

The Spectrum Emulator fully boots and lets you select which ROM to load from SD complete with screenshots. However, when you select one the screen looks like it corrupts.

Pictures included below of the Spectrum Emulator. I'll not release the source for this unless Drac supports me doing so.
640 x 480 - 134K
640 x 480 - 161K

Comments

  • steddymansteddyman Posts: 91
    edited 2014-11-16 05:12
    Fixed some slight errors with the schematic and connections to the on-board VGA, and now have the full CPM booting on the DE-115-DracBlade.

    Spectrum emulator still showing issues with the video memory. Could be a bug in the Emulator so will try a different version of the source.
    IMG_1320.JPG
    640 x 480 - 161K
  • BaggersBaggers Posts: 3,019
    edited 2014-11-16 05:14
    Awesome work steadyman.

    Are you releasing your FPGA image? if so I could help you figure out what the issue is with the Spectrum emulator.
  • steddymansteddyman Posts: 91
    edited 2014-11-16 05:36
    Happy to do that, do you think Drac won't mind? I did send him a private message a few weeks ago but got no reply, so not sure he is still active.
  • Heater.Heater. Posts: 21,230
    edited 2014-11-16 07:47
    I'm fairly sure Dr Acular would not mind. I think he would welcome the idea. He is still active here, drop him another P.M.
  • steddymansteddyman Posts: 91
    edited 2014-11-16 08:48
    Thanks. I have sent him another PM.

    I am out at the moment and when I return home I will post it. If Drac then let's me know he doesn't support it, I will then remove it.
  • tingotingo Posts: 87
    edited 2014-11-16 11:32
    Nice work!
  • steddymansteddyman Posts: 91
    edited 2014-11-16 11:33
    Ok

    Attached is the zipped Quartus II (Web) Project file. It is a vanilla Prop1V implementation to which I have wrapped a schematic around (TestSchem.bdf).

    It uses the onboard SRAM, SD Card Reader, PS/2 Keyboard port and VGA DAC. The VGA DAC is wired with each VGA bit on the prop linking to 4 VGA DAC bits. There is a PLL in the schematic driving driving the Prop and the VGA DAC. Currently in this version the VGA clock (PLL c1) is configured for 50Mhz to match the requirements of the DracBlade CPM emulation. It would need changing to 15Mhz in the schematic to run the Spectrum Emulator and recompiling. The green LED's are controlled by the Prop1v and represent the 8 cogs. The red led is the diag led on the DracBlade and the next two are the serial transmit and receives indicators which are connected to the prop plug pins on the expansion header.

    There are no modifications required to Prop code to run on this implementation of the DracBlade, because the hardware is being simulated as is. Currently there is no EEPROM emulation included, so once you have programmed it into the board you will need to connect your Prop plug to the normal expansion connector pins, then compile and send your DracBlade compatible app to the internal RAM.

    Edit: I should add that so far this is the only CPM boot implementation that works for me, the rest throw up errors which may be down to the different hardware revisions of the DracBlade:
    http://www.smarthome.jigsy.com/files/others/PropArchive-Nov-30-2009.zip
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2014-11-16 15:43
    Hey, this is great! Keep up the good work.

    And yes you can copy anything I have done. Most of what I did was just building on the work of others, and it is all open source.

    If I was doing it all again... well the big limiting thing with the physical propeller chip and ram is there are not enough pins, so either you can add in a port B and have lots of pins to do a ram chip and all the other peripherals, or I think there might even be enough ram to do things internally. Which would be even faster, better etc.

    My dream fpga emulation is one Z80 core and some propeller cores, all running in parallel.
  • steddymansteddyman Posts: 91
    edited 2014-11-17 02:41
    Great thanks for confirming you are ok with it.

    I will progress and see where it leads :)
  • pik33pik33 Posts: 2,366
    edited 2014-11-17 02:54
    My dream fpga emulation is one Z80 core and some propeller cores, all running in parallel.
    And now it is possible: http://opencores.org/project,t80

    My dreams are somewhere near 6502... there are some of them, too: http://forum.6502.org/viewtopic.php?t=1673

    And for pure Propeller design, there is another thing we can think about puting it in DE2-115 called HIVE http://hive-project.de/
  • steddymansteddyman Posts: 91
    edited 2014-11-17 06:25
    Looking at the specs for the hive, that is definitely doable. I have also seen z80, 6502 and pretty much any other retro core for FPGA. The issue would be around writing the software to support them.
  • BaggersBaggers Posts: 3,019
    edited 2014-11-18 01:44
    Awesome cheers, I'll have a play at the weekend! :D
  • steddymansteddyman Posts: 91
    edited 2014-11-27 13:04
    Making some more progress on this which I hope to post soon. I have modified the prop source to output a native vga clock so hopefully I should have it locking to any video frequency.

    One question for Baggers. What versions of the DracBlade does the emulator work on? I built mine from the v5 schematic from the main DracBlade thread but just noticed another thread referencing a v7 version of the board. v7 seems to have a sound output, which v5 doesn't seem to have (from what I can see).
  • steddymansteddyman Posts: 91
    edited 2014-11-29 11:46
    Here is a new version which has a modified prop to output a VGA clock. It doesn't work fully for all different resolutions, but is a much better solution than what I had.

    The DE-115 DracBlade seems to run everything I throw at it, except for ZiCog. I've tried multiple different implementations of ZiCog in cgenie, speccy and CPM and none of them work.

    I have compiled test programs to test all the individual elements, like the memory (latches), the video, the SD card support, etc and everything works. However, as soon as Zicog starts it always crashes.

    I suspect the issue is the prop1 verilog implementation has a bug which prevents it from running ZiCog. Has anyone got ZiCog running at all on the P1V?

    ARGH: Upload of the ZIP does not work any longer. Have the forums been broken by the last upgrade. I click Upload and it tries then reports upload failed. It is 2.5MB like last time. Tried it from Safari and Chrome and also from Mac and Windows. You can download it from here:

    https://dl.dropboxusercontent.com/u/7799729/P8X32A_Dracblade_Stripped2.zip
Sign In or Register to comment.