RetroCade 1.1 - SID analog filters and SID player!


Jack Gassett

Recommended Posts

We just released RetroCade 1.1 that adds support for the SID analog filters and ability to play SID files from SD card and smallFS. We have noticed that there are still some problem SID files so please respond here with any SID files that don't sound right or cause problems.

 

A big thank you to Alvaro Lopes for writing the VHDL to implement the SID filters and porting tinySID to ZPUino.

 

Jack.

Link to comment
Share on other sites

Ok, finally got the update to work by uninstalling and reinstalling some software.

I ran the setup for the RetroCade 1.1 and installed it in "c:\retro"

The created link in the startmenu called "Upgrade to RetroCade-1.1 Bit File" does however not work - it is set to the path ""C:\Papilio Loader\papilio-loader.exe" "C:\Retro/ZPUino_SOC/RetroCade-1.1-zpuino-1.0-PapilioPro-S6LX9-RetroCade-1.1.bit" -s -q -x" (which does not exist on my system, the loader is in "C:\Program Files (x86)\Gadget Factory\Papilio Loader\" and the working directory is """C:\Retro/../Papilio Loader/""" which is also wrong. I did update now manually and it worked, but maybe you should take another look at how the setup created the links.

Cheers,

Toby

Link to comment
Share on other sites

Mmmh, strange, the update does somehow still not seem to have worked, I think.

 

When I run the Papilio Loader with the 1.1 bitfile and the RetroCade connected via USB (and no other USB devices), with the following settings:

Target board: Auto-detect FPGA

Target .bit file: C:\Retro\ZPUino_SOC\RetroCade-1.1-zpuino-1.0-PapilioPro-S6LX9-RetroCade-1.1.bit

 

I get the following output (the Retrocade LCD screen goes complete blue during this, then starts the SpaceInvaders again):

 

JTAG chainpos: 0 Device IDCODE = 0x24001093    Desc: XC6SLX9
Using devlist.txt
Created from NCD file: xform.ncd
Target device: v1000efg860
Created: 2001/08/10 06:55:04
Bitstream length: 24085080 bits

Uploading "C:\Retro\ZPUino_SOC\RetroCade-1.1-zpuino-1.0-PapilioPro-S6LX9-RetroCade-1.1.bit". DNA is 0x1962ce0e46db36ff
Done.
Programming time 8123.5 ms
USB transactions: Write 1479 read 7 retries 0
 

BUT when I then step through the menus, I don't see any of the new SID stuff and the About screen still says "RetroCade Synth Version 1.0" - how can that be? Did the update fail or am I on the new version and just don't know it yet?

 

 

 

EDIT: Ah, ok, I think I have to switch "Write to:" from "FPGA" to "SPI Flash"! Doing that the update takes much longer but also finished successfully - but after that the screens stays lit up in a bright blue and also when reconnecting, nothing changes. Did I brick it somehow? Can anyone help?

Sorry for the stupid questions...

Link to comment
Share on other sites

Interestingly, I seem to have the exact same problem as Nitz76 in this thread: http://forum.gadgetfactory.net/index.php?/topic/1591-newbie-spi-flash-programming-issue/page-3

Jack, did you have any success determining the cause of why NItz76 FPGA was acting strange?

As I said, my RetroCade synth was working fine with the initial firmware all the time until I tried updating today to 1.1, now I can't use it anymore :-(

 

On another note, trying to compile the 1.1 sketch in Arduino gives an error abou tmissing sidplay.h - you probably should add that to the source release as well :)

Link to comment
Share on other sites

Mmmh, strange, the update does somehow still not seem to have worked, I think.

 

When I run the Papilio Loader with the 1.1 bitfile and the RetroCade connected via USB (and no other USB devices), with the following settings:

Target board: Auto-detect FPGA

Target .bit file: C:\Retro\ZPUino_SOC\RetroCade-1.1-zpuino-1.0-PapilioPro-S6LX9-RetroCade-1.1.bit

 

I get the following output (the Retrocade LCD screen goes complete blue during this, then starts the SpaceInvaders again):

 

JTAG chainpos: 0 Device IDCODE = 0x24001093    Desc: XC6SLX9

Using devlist.txt

Created from NCD file: xform.ncd

Target device: v1000efg860

Created: 2001/08/10 06:55:04

Bitstream length: 24085080 bits

Uploading "C:\Retro\ZPUino_SOC\RetroCade-1.1-zpuino-1.0-PapilioPro-S6LX9-RetroCade-1.1.bit". DNA is 0x1962ce0e46db36ff

Done.

Programming time 8123.5 ms

USB transactions: Write 1479 read 7 retries 0

 

BUT when I then step through the menus, I don't see any of the new SID stuff and the About screen still says "RetroCade Synth Version 1.0" - how can that be? Did the update fail or am I on the new version and just don't know it yet?

 

 

 

EDIT: Ah, ok, I think I have to switch "Write to:" from "FPGA" to "SPI Flash"! Doing that the update takes much longer but also finished successfully - but after that the screens stays lit up in a bright blue and also when reconnecting, nothing changes. Did I brick it somehow? Can anyone help?

Sorry for the stupid questions...

 

Yes, it definitely needs to be written to SPI Flash, you are on the right track. Try to write it to SPI Flash again, maybe something happened during the programming... It looks like the installer did not handle changing the install location very well...

 

Interestingly, I seem to have the exact same problem as Nitz76 in this thread: http://forum.gadgetfactory.net/index.php?/topic/1591-newbie-spi-flash-programming-issue/page-3

Jack, did you have any success determining the cause of why NItz76 FPGA was acting strange?

As I said, my RetroCade synth was working fine with the initial firmware all the time until I tried updating today to 1.1, now I can't use it anymore :-(

 

On another note, trying to compile the 1.1 sketch in Arduino gives an error abou tmissing sidplay.h - you probably should add that to the source release as well :)

 

I need to make a new release of the ZAP IDE before the source code will work. You can download the ZAP IDE from github, I was trying to get together several other libraries for a new ZAP IDE release.

Link to comment
Share on other sites

Hi Jack,

thanks for your help. :-)

 

Concerning the installer: I think it does not like to be installed on top-level directories.

 

Well I tried several times to flash the SPI (also with older versions of the firmware), I always get output like this (which looks ok to me):

 

JTAG chainpos: 0 Device IDCODE = 0x24001093    Desc: XC6SLX9
Using devlist.txt
JTAG chainpos: 0 Device IDCODE = 0x24001093    Desc: XC6SLX9

Uploading "C:\Program Files (x86)\Gadget Factory\Papilio Loader\programmer\bscan_spi_xc6slx9.bit". DNA is 0x1962ce0e46db36ff
Done.
Programming time 915.1 ms

Programming External Flash Memory with "C:\Program Files (x86)\Gadget Factory\RetroCade Synth\ZPUino_SOC\RetroCade-1.1-zpuino-1.0-PapilioPro-S6LX9-RetroCade-1.1.bit".
Found Macronix Flash (Pages=32768, Page Size=256 bytes, 67108864 bits).
Programming :
Using devlist.txt
..............................................Ok
Done.
SPI execution time 154297.8 ms
USB transactions: Write 35460 read 35291 retries 0
JTAG chainpos: 0 Device IDCODE = 0x24001093    Desc: XC6SLX9
Using devlist.txt

ISC_Done       = 1
ISC_Enabled    = 0
House Cleaning = 1
DONE           = 1
 

 

Unfortunately, the LCD display stays brightly lit, but without any displayed text and nothing happens,, even after disconnecting and reconnecting :-(

Any idea what else I could try?

Thanks,

Toby

Link to comment
Share on other sites

Ahhhhhhh, ok. This happened to me, please do the following:

 

  • Change the Papilio Loader to expert mode from preferences
  • Make sure that Erase, Write To, and Verify are all active. The buttons should be blue.
  • Try it again.

It seems that by default it is only doing a write to which is not clearing out the SPI Flash contents and causing a problem. I need to look into the default settings for the latest Papilio Loader release...

 

Let me know how that goes.

Jack.

Link to comment
Share on other sites

  • 2 weeks later...

Ahoy Jack,

 

I've grabbed the latest RetroCade Sketch from GitHub, and merged all the missing files from "Lite" into the updated full sketch, but it's still missing sidplayer.h

 

Do you have an ETA for when the Sketch source with analogue filters/sidplayer will be available? I've been waiting for it to resume my Performance Mode features/enhancements.

Link to comment
Share on other sites

Hello Gadgetoid!

 

Sorry for the delay, I've moved the RetroCade source code into the ZAP IDE instead of maintaining a separate release for the RetroCade. I've been holding off on a ZAP release because there are a bunch of new libraries that are just about ready, but I think that I better just bite the bullet and make a new release for the SID filters. The other libraries seem to keep dragging along...

 

I'll work on a new release for today or tomorrow, in the meantime - all the sid changes are checked into the github master.

https://github.com/GadgetFactory/ZAP--ZPUino-Arduino-Papilio--IDE

 

Jack.

Link to comment
Share on other sites

  • 2 weeks later...

is all the things for the retrocade fixed now?, like noteoff and such things?, my retrocade have been sitting on the sheld collecting dust together with my midi keyboard, would be cool to try it again.

The feature of playing sidfiles are not very interresting, it's more interresting to use the whole thing as an synth module, which I thought was the point in the first place?

Link to comment
Share on other sites

 it's more interresting to use the whole thing as an synth module,

 

I've been working on a set of changes that add in-system patch modification, keyboard splits and more functionality for supporting live play. All things you'd expect from a performance synth.

 

It's been on the back-burner for a few months while I waited for this update, but I hope to get it all up to scratch soon.

Link to comment
Share on other sites

  • 3 weeks later...
  • 3 weeks later...

These 4 registers?:

 

 
#define SID_ADDR_FILTER_FC_LOW       0x15
#define SID_ADDR_FILTER_FC_HI        0x16
#define SID_ADDR_FILTER_RES_FILT     0x17
#define SID_ADDR_FILTER_MODE_VOL     0x18
 
So in the current release only the SID player writes to these addresses, is that a correct assessment?  Functions need to be added to the SIDVoice class to set them, and then CC messages added to the handler?  If so then I think I can make that happen.
Link to comment
Share on other sites

  • 2 months later...
  • 1 month later...

Archived

This topic is now archived and is closed to further replies.