Making PlusToo run really fast (like 14x faster)
I decided to work a bit on the PlusToo code again after about a year since the Pepino LX25 version with SCSI disk support was released (see http://www.saanlima.com/pepino/index.php?title=Pepino_PlusToo).
What prompted this was something I read about the TG68K code and how fast it can run so this made me think about running the PlusToo faster than the original 8 MHz clock. The idea I got was to bump up the CPU clock speed from 8 MHz to 32 MHz, which should be no problem for the TG68K, and the SRAM on Pepino has 10 ns access time so it should also be able to get a speed-up to a 32 MHz access cycle.
Snake game on Pepino
This is a port of the Snake game first posted at http://www.instructables.com/id/Snake-on-an-FPGA-Verilog/ to Pep
Pepino is an entry-level FPGA development board based on Xilinx Spartan-6 FPGA. Unlike most other entry-level FPGA boards, Pepino includes a set of features typically needed in order to implement computing and gaming platforms (like fast/wide SRAM, PS/2 keyboard and mouse connectors, VGA connector, sd-card socket and dual-channel audio connector etc.) that makes it an ideal platform for developing new processor and system architectures, retro-computing systems and game console emulation, as well as for general-purpose FPGA development projects.
Macintosh Plus project update
The project is now updated with SCSI disk support via the sd card socket and turbo mode (2x faster).
Here it's shown with a 128MB disk mounted:
Macintosh Plus clone running on Pipistrello
I have been working on porting the Plus Too code from Big Mess o' Wires to Pipistrello. This code base have been dormant for a while but recently the folks at MiST picked it up and added more features like keyboard and sound support etc. This is definitely work in progress but I got it to boot to the desktop with working mouse, keyboard and sound. The image data for the 400 K system disk is stored in flash memory after the bit file and is transferred to RAM at boot time. Video is via DVI.
Pipistrello in Xilinx Xcell daily blog
Oberon article in Xilinx xcell journal
Interesting article in Xilinx Xcell Journal:
800x480 TFT display on Pipistrello
Adafruit 5" 800x480 TFT panel running on Pipistrello in 24-bit RGB mode.
HDMI audio and video for game console
Interesting project that feeds audio and video via an FPGA to a HDMI monitor.
Pipistrello "POC" project
Pipistrello user joco (Jozsef Laslo) have been working on an interesting Microblaze_mcs system he calls Pipistrello "POC" (Proof Of Concept).
"This project implements a micro-machine entirely in an FPGA, using Pipistrello LX45. The aim of this project was to use the available resources of the Pipistrello board such as
- DDR memory as frame buffer
- SD-CARD socket, accessing the filesystem on SD/MMC cards
- HDMI(DVI) video output (reading pixels from the DDR frame buffer)
- Connecting basic peripherals, like PS/2 keyboard
- Implementing an embedded CPU for controlling the system
This is a Proof Of Concept project. I did not want to optimize it for speed or fpga room, I just wanted to make it work and keep is as simple as possible. So it should considered as a basement for something more complex solutions. I used a lots of existing resources to build the system. I kept all the copyright messages and credentials in the original source codes, so I do not claim anything here to be my own work, apart from putting all pieces together. "
Gameduino ported to Pipistrello
Gameduini is a really cool project by James Bowman. Originally it was a add-on shield for an Arduino board that implemented a sprite engine and much more, while the Arduino board did all the computing and sending commands to the Gameduino shield via a SPI interface.
For more info see this link to the Gameduino page: http://excamera.com/sphinx/gameduino/ with cool pictures and a complete description of the system
The port to Pipistrello involves expanding the code by adding two more blocks so it's basically now made up of three blocks:
* Original Gameduino block (no functional changes, just some code cleanup)
* VGA-to-DVI converter to send out the display via HDMI to a DVI monitor instead of VGA
* Microblaze_mcs system running at 100 MHz with added hardware I/O modules (SPI, timer, DIO, UARTs etc.) replacing the Arduino board
GUI front-end to fpgaprog
A new tool for downloading bit files to Pipistrello is now available. Below are links to source code and binary (windows and linux) of a modified version of miniSProg from Scarab Hardware.
The main difference from the original version is that this version uses fpgaprog instead if xc3sprog and have added buttons for writing to flash and verifying flash.
Oberon system on Pipistrello
"Project Oberon is a design for a complete computer system. Its simplicity and clarity enables a single person to know and implement the entire system, while still providing enough power to make it useful and usable in a production environment."
For more info about Oberon see this link: http://www.projectoberon.com/
The problem implementing the Oberon system on a general purpose FPGA board like Pipistrello is that it's designed for a memory system using fast (10ns) 32-bit wide 1 MB SRAM. My first thought was to write a caching memory controller and use LPDDR as memory but the complexity of that code would be in stark contrast to the simplicity of the Oberon code so I decided to abandon that plan and instead design a simple SRAM add-on board for Pipistrello that can hold up to 2 MB of 10ns 32-bit wide SRAM and two PS/2 connectors for keyboard and mouse. The rest of the system is basically covered by the on-board I/O (video via HDMI, sd-card using the micro-sd socket) so I could use all 48 pins in the wing connectors for the SRAM board.