BoxLambda, a retro-style FPGA based computer project using VERA

This is for products with a physical and digital component. Things like an Arduino based emulator of a 1970s mainframe, a toaster that butters your bread, or even a homebrew computer.
epsilon537
Posts: 31
Joined: Sun May 01, 2022 12:12 pm

BoxLambda, a retro-style FPGA based computer project using VERA

Post by epsilon537 »


Hi all,

I recently started a retro-style FPGA-based computer project and Blog. I have decided to use VERA as the graphics controller for this project. I thought it relevant to post here. Here is the latest Blog post:

https://epsilon537.github.io/boxlambda/graphics-and-sound/

Cheers,

Epsilon.

 

Kalvan
Posts: 111
Joined: Mon Feb 01, 2021 10:05 pm

BoxLambda, a retro-style FPGA based computer project using VERA

Post by Kalvan »


Well, for the audio solution, I would like to suggest a combination of the Seta X1-010, X2 Phillips SAA1099, and the Yamaha YM2414.  All those sound chips would have been from the '80s, there's plenty of tracker music for each of them on YouTube, and together, they cover almost all the basics (Geometry Synthesis, PCM, Wavetable, and FM Synthesis) except Mathematical Synthesis like Additive (Atari AMY) or Subtractive (Like the Roland MT and Sound Canvas families).

If the YM2414 is unavailable as a softcore, I'm certain the YM2151 is definitely out there.

epsilon537
Posts: 31
Joined: Sun May 01, 2022 12:12 pm

BoxLambda, a retro-style FPGA based computer project using VERA

Post by epsilon537 »


Thanks for the suggestions. I'm not sure if soft cores exist for those devices (other than the YM2151), but if they do, the intent is that you can load them into the sound core slot on a live system - as long as they can be made to fit the interface and floor plan that is.

 

Kalvan
Posts: 111
Joined: Mon Feb 01, 2021 10:05 pm

BoxLambda, a retro-style FPGA based computer project using VERA

Post by Kalvan »



On 5/6/2022 at 5:35 AM, epsilon537 said:




Thanks for the suggestions. I'm not sure if soft cores exist for those devices (other than the YM2151), but if they do, the intent is that you can load them into the sound core slot on a live system - as long as they can be made to fit the interface and floor plan that is.



 



Well, The X1-010 was used in a whole bunch of arcade games by the likes of Seta, Alumer, Visco, Athena, Tecmo, Sammy (Before the merger with Sega), Data East, and especially Banpresto.  As I've seen footage of Twin Eagle: Revenge Joe's Brother running on the MISTer platform on YouTube, I'm certain that it's out there to find.  Or, one can theoretically find the source code for core for the Seta 1st Generation Arcade Hardware and try to isolate the HDL code for the X1-010 that way.

The Phillips SAA-1099 was used in the SAM Coupe, The Creative Labs GameBlaster and early SoundBlaster series cards, a couple of Mid-Late Eighties Digital Equipment and Silicon Graphics workstations (as a timer generator and peripheral I/O controller), and several arcade games by Century Electronics.

The really tricky one would be the YM2414.  It's an eight channel, four operator FM synthesizer with eight possible waveforms that was only used in Yamaha keyboards, and (second sourced) in midrange keyboards and synth modules by the likes of Moog, Budcla, Korg, and Casio.  I fell in love with its sound on YouTube, but if it's not available, the YM2151 will work fine.

Dumb question: How fast are you going to clock that 32-bit RISC V core?  I ask this because you may need a separate Sound CPU and audio buffer, especially if you want to experiment with the joys of PCM polyphony at high sample rates without bogging down the rest of the system.  I would suggest either the Hudson HuC6280 (Also used as a Sound CPU in arcade games by Taito and Data East), or the Zilog Z180, as each can address 1 MB plus of memory on their own.

Another Dumb Question: Which FPGA are you planning to use, and how much I/O will you able to play with?

epsilon537
Posts: 31
Joined: Sun May 01, 2022 12:12 pm

BoxLambda, a retro-style FPGA based computer project using VERA

Post by epsilon537 »



On 5/6/2022 at 4:36 PM, Kalvan said:




Dumb question: How fast are you going to clock that 32-bit RISC V core?  I ask this because you may need a separate Sound CPU and audio buffer, especially if you want to experiment with the joys of PCM polyphony at high sample rates without bogging down the rest of the system.  I would suggest either the Hudson HuC6280 (Also used as a Sound CPU in arcade games by Taito and Data East), or the Zilog Z180, as each can address 1 MB plus of memory on their own.



Another Dumb Question: Which FPGA are you planning to use, and how much I/O will you able to play with?



Timing closure will decide the speed. I'm targeting 50MHz.

I have my eye on a very interesting 'smart' DMAC core. You might be able to get by with that, instead of a 2nd CPU for audio. More on than in my next BoxLambda post.

If the DMAC doesn't suffice, I intend to include an empty black box region in the floor plan, with bus master hook-ups. Theoretically, you could fit another CPU in there.

A very limited version might just fit on a Arty A7-35T: https://digilent.com/shop/arty-a7-artix-7-fpga-development-board/

The 'full' version will require a Nexys A7-100T: https://digilent.com/shop/nexys-a7-fpga-trainer-board-recommended-for-ece-curriculum/

 

epsilon537
Posts: 31
Joined: Sun May 01, 2022 12:12 pm

BoxLambda, a retro-style FPGA based computer project using VERA

Post by epsilon537 »


Hi all,

I just uploaded a new post to the BoxLambda Blog: Key Components Part 3: DMA and Peripherals.

Cheers,

Epsilon.

 

User avatar
Tatwi
Posts: 103
Joined: Wed Sep 22, 2021 7:28 pm

BoxLambda, a retro-style FPGA based computer project using VERA

Post by Tatwi »


Will this computer serve a purpose for an end users or is this a project where you design and build a computer simply for the joy of doing so, regardless of the resulting machine's purpose? Totally fine either way, of course; I was just curious.

epsilon537
Posts: 31
Joined: Sun May 01, 2022 12:12 pm

BoxLambda, a retro-style FPGA based computer project using VERA

Post by epsilon537 »



On 5/11/2022 at 6:06 PM, Tatwi said:




Will this computer serve a purpose for an end users or is this a project where you design and build a computer simply for the joy of doing so, regardless of the resulting machine's purpose? Totally fine either way, of course; I was just curious.



The 'FPGA-ness' of the computer sits at the center of this project. I would like to build a machine where it's doable and fun to mess around both on the software side and the hardware side.

On PC, a developer is typically limited to application space. You have to code against a bunch of APIs that other people have cooked up. On the Commander X16, you get to control the entire machine, from software. BoxLambda takes that one step further by letting you create or modify both software and hardware.

So, the lofty goal is to remove the great software-hardware divide ?. There are not that many people with skills in both domains, but I'm sure there is interest, especially among bare-metal assembly level programmers that want to drill down just a bit further into the machine.

On the other hand, building a computer simply for the joy of doing so is certainly a big part of it ?

BruceMcF
Posts: 1336
Joined: Fri Jul 03, 2020 4:27 am

BoxLambda, a retro-style FPGA based computer project using VERA

Post by BruceMcF »



On 5/12/2022 at 4:12 AM, epsilon537 said:




The 'FPGA-ness' of the computer sits at the center of this project. I would like to build a machine where it's doable and fun to mess around both on the software side and the hardware side. ...



The CX16 includes the "stable development platform" philosophy inspired by 80s 8bit home computers like the VIC20 and C64 .. but it's not like there is "one true and proper approach" ... a variety of different projects each with their own coherent approach makes for a more interesting Vera ecosystem.

epsilon537
Posts: 31
Joined: Sun May 01, 2022 12:12 pm

BoxLambda, a retro-style FPGA based computer project using VERA

Post by epsilon537 »



On 5/19/2022 at 12:09 AM, BruceMcF said:




The CX16 includes the "stable development platform" philosophy inspired by 80s 8bit home computers like the VIC20 and C64 .. but it's not like there is "one true and proper approach" ... a variety of different projects each with their own coherent approach makes for a more interesting Vera ecosystem.



Good point. The stable development platform is probably one of the reasons people still develop for the C64 today, but not for the Pentium PC.

In a way, RTL is just software that runs on an FPGA instead of a CPU. In that sense, BoxLambda is a framework and the Arty or Nexys A7 (I haven't decided) is the stable development platform. Then again, if there exists a stable development platform for homebrew FPGA projects with good traction today, it's the MisterFPGA, not the Arty or the Nexys.

 

Post Reply