Friday, March 16, 2012

Preparing release 1.0

I think it's time now to wrap up all bits and release a 1.0 version, which hopefully will be before the end of March.

What to expect from this release ? well, basically:
  • The new improved extreme core (things will go faster)
  • Smaller generated code for sketches
  • Upload-to-RAM feature
  • New timer infrastructure (means, PWM on steroids)
  • Easier to tailor to your own needs
  • New VGA interfaces
  • Optional I2C (integration from OpenCores)
  • Faster SmallFS implementation
  • Arduino 1.0 IDE
  • Eventually more memory... this depends on the board itself.
  • Per-board variants (like I2C, VGA)
  • Audio chips!! YM2149, Pokey and SID. Note that due to these "chip" sizes, it might not fit your FPGA.
  • Papilio Plus support (S6LX4 for now)
For the hardcore details:
  • New DMA interface (not controller). It's used for VGA, so it can use regular memory as framebuffer.
  • Better external memory integration. This one is still under test, but might make it.
  • PWM have now 2 comparators (low and high). Also you can add as much PWM as you wish per timer.
  • Decreased serial FIFO: means, more block ram memory available.
  • Other goodies. See official repo branch for more details.
Other stuff is in the forge, but might not make it for this release. I think I've delayed it for too long now. Release early, release often.

As always, feel free to send in your comments to zpuino@alvie.com.

PS: Did I told you I will also publish a ZX-Spectrum VGA compatible output, and that it will be accompanied by a "arduino sketch" Jet Set Willy game engine implementation (not a 100% implementation, but close) ? Yes, it's true. And you can have fun making your own maps, sprites and variants!. I'm just finishing some documentation, so you can go and make it a 100% implementation if you wish.

Alvie

Thursday, January 12, 2012

How complex ?

How complex can a voltmeter be, with ZPUino, my yet-to-be-released SerPro3 software and a Gadget Factory ADC wing ?

Well, judge for yourselves:

This is ZPUino code (29 lines):

#include <SerPro3.h>
#include <SPI.h>
#include <Papilio.h>

SERPRO_ARDUINO_BEGIN();

Papilio::ADC8_Wing myadc;

void setup()
{
Serial.begin(115200);
myadc.begin( Papilio::Wing_A_Low );
}

uint16_t sample(int channel)
{
return myadc.sample(channel);
}

void loop()
{
if (Serial.available())
SerPro::processData(Serial.read());
}

EXPORT_FUNCTION(1,sample);

SERPRO_ARDUINO_END();


And this is PC code (23 lines, Linux):

#include <SerPro/SerPro-glib.h>

SERPRO_GLIB_BEGIN();
IMPORT_FUNCTION(1,sample,uint16_t(int));

void go()
{
while(1) {
printf("Voltage: %.02f\n", ((double)sample(0)*3.3)/255.0 );
usleep(500000);
}
}

int main(int argc,char **argv)
{
SerProGLIB::init(argv[1],B115200);
SerProGLIB::start();
SerProGLIB::waitConnection();

go();
}

SERPRO_GLIB_END();


And this is how it runs, with ADC connected (channel 0) to 1.2V power rail:

$ ~/sketchbook/remote/pc/remote /dev/ttyUSB1
Channel set up OK
Voltage: 1.20
Voltage: 1.20
Voltage: 1.20
Voltage: 1.20
Voltage: 1.20


Not much of a hassle, is it ?

Tuesday, December 13, 2011

Looking for "alpha" testers

I'm currently looking for "alpha" testers for the upcoming 1.0 version, which uses the new Arduino IDE and a new, improved core.

In case you are interested in testing it, please drop me a note. !
Alvie

Tuesday, December 6, 2011

The new Extreme core

I just uploaded a new extreme bitfile, one which does only implement one emulated instruction (loadb, using an extra cycle). Implementation of other instructions is coming next.

Again, a Papilio One, S3E250, at 96MHz, AES benchmark:
Press ENTER to start benchmark                                                   
Doing 10000 runs...
Time: 1536 milisseconds, 104166 bytes/s

Comparison with older core, with *many* more instructions implemented:
Press ENTER to start benchmark
Doing 10000 runs...
Time: 2101 milisseconds, 76154 bytes/s

Definitely, getting somewhere :)

Alvie

Thursday, October 6, 2011

Upcoming VGA interface with SRAM

Just a photo for a start ;)



full image version here

This was done with new Spartan6 boards from Gadget Factory, which include a 512KB SRAM.

Alvie

Wednesday, August 31, 2011

ZPUino demo video with VGA

Jack made a wonderful demo video of ZPUino with VGA, running on Papilio One:

Watch it here.

Thanks Jack!

Monday, July 25, 2011

Sort of a demo

Sort of a VGA + ADC demo. This one is in simulator, I'll post pics later on it on real hardware.