8-Bit Home Computers in Daily Use?

ade said:
I feel I've just had them read out the menu to me at the drive-thru šŸ¤Ŗ
Would you like out of order execution or branch prediction with your order? šŸ¤£
 
One of these days when I'm more skilled in VHDL I want to implement a 6502/65816 with modern features like cache, pipelining, microcode, branch prediction, register renaming, and out of order execution.

Anyone want to see a native real hardware 1+ GHz SNES?

šŸ‘‰šŸ‘ˆšŸ¤­
 
Last edited:
  • Love
Reactions: Cottontail
LittleAndAlone said:
One of these days when I'm more skilled in VHDL I want to implement a 6502/65816 with modern features like cache, pipelining, microcode, branch prediction, register renaming, and out of order execution.

Anyone want to see a native real hardware 1+ GHz SNES?
Ha ha! I've thought about similar things before. The roadmap for David Murray's X16 project leads to a point where everything's on one FPGA. At that point, it's hard to see why there shouldn't be a "6502 Unleashed" mode. :)

I rarely share non-ABDL personal projects here, but this one was done for my own amusement years ago and never shared anywhere else, so it's "safe." Behold the 16-bit "accelerator" for the Arduino Mega, LOL:

IMG_1565.jpg

...and yes, it runs BASIC. :)
 
Last edited:
  • Love
Reactions: LittleAndAlone
Cottontail said:
Ha ha! I've thought about similar things before. The roadmap for David Murray's X16 project leads to a point where everything's on one FPGA. At that point, it's hard to see why there shouldn't be an "6502 Unleashed" mode. :)

I rarely share non-ABDL personal projects here, but this one was done for my own amusement years ago and never shared anywhere else, so it's "safe." Behold the 16-bit accelerator for the Arduino Mega, LOL:

View attachment 109342

...and yes, it runs BASIC. :)
šŸ¤£ Hah that's awesome. You wrote a BASIC interpreter in 65816? You're mad, I would never use interpreted code on those old 8/16 bit CPUs. Native all the way! Are any of the other features like DMA or the custom memory mapped multiplier/divider accessible?

Dual ported SRAM coupling, what mechanism/protocol to start/stop and synchronize 65816 operation? There a bootloader ROM in there to start it up?

Gives me another idea to pull the S-DSP (or 2?) and S-SMP and make a 8-16 channel sampler synth ISA sound card for 8088 or 286 PC.

1 S-SMP and dual S-DSP with 4 MB sample RAM?

Wonder how much physical address space they actually have, SNES was pretty limited with shared split 64K code/sample RAM.
 
Last edited:
  • Like
Reactions: Cottontail
LittleAndAlone said:
Would you like out of order execution or branch prediction with your order? šŸ¤£
Whatever, as long at it comes with chips with DIPs.....and miniaturize me!
šŸ˜¬
 
ade said:
Whatever, as long at it comes with chips with DIPs.....and miniaturize me!
šŸ˜¬
OMG šŸ™„šŸ¤£
 
Last edited:
LittleAndAlone said:
Wonder how much physical address space they actually have, SNES was pretty limited with shared split 64K code/sample RAM.
The 5A22 pins out all 24 address bits. No external latches required. Unfortunately the memory map is still something of a mess, with different address ranges having different numbers of implied wait states and other odd side-effects. As a general purpose CPU, I don't recommend it. Truth be told, I've not experimented much with its 16-bit mode, and my port of BASIC is entirely 8-bit.

I should mention that no SNES consoles were harmed in the making of that board. Long ago, I happened upon an eBay auction for a whole tray of new ones. *Buy It Now*
 
Last edited:
Cottontail said:
The 5A22 pins out all 24 address bits. No external latches required. Unfortunately the memory map is still something of a mess, with different address ranges having different numbers of implied wait states and other odd side-effects. As a general purpose CPU, I don't recommend it. Truth be told, I've not experimented much with its 16-bit mode, and my port of BASIC is entirely 8-bit.
I was referring to S-DSP there. Only used half of the 64k for samples but wonder how much more you could use.

Edited post with more questions lol.

Are any of the other features like DMA or the custom memory mapped multiplier/divider accessible?

Dual ported SRAM coupling, what mechanism/protocol to start/stop and synchronize 65816 operation? There a bootloader ROM in there to start it up?


Yeah SNES memory map is horrible. Fast ROM Slow ROM Hi ROM Lo ROM, mirrors, bank segmentation, upper and lower 32k splits, automatic clock speed changes (2.58 MHz vs 3.58 MHz) etc šŸ˜µā€šŸ’« Pain in the butt when you just want to abuse 15ns SRAM and not worry about it. šŸ¤£

Game Boy Advance was much the same system concept but linear and much nicer to stare at without going cross-eyed.
 
Last edited:
Our first family computer was an IBM PCjr. Played so many SIERRA games on that thing... My father regrets getting rid of it. Luckily we kept the games.

I have a C64 with a ton of software and accessories, but I've never had room to set it up proper. I of course, LOVE the games, but I'm also interested in the C64's sound capabilities. That SID chip makes awesome chiptunes!

One of my prized possessions is a IBM PS/2 mechanical keyboard. Built like a tank, and the keys are absolute perfection! The feel of the springs... The mechanical clicks... I LOVE writing and playing old adventure games on that thing!
 
  • Like
Reactions: perlFerret
Another thing I always wanted to do was building a custom super PC/XT with a NEC V53A with 16 bit ISA and a custom VGA core with a tile layer and sprite accelerator VDP.

We never got hardware 2D acceleration in that era, so consoles kicked the crap out of PC with their tile and sprite hardware. PC couldn't compete until stuff like 486 32 bit VLB to brute force software blitting. By the time acceleration became a thing, Windows took over and SVGAs became non standard and proprietary.

20 MHz 8086 with hard wired logic and 16 bit external bus, and I think a 2 cycle bus access instead of the standard 4. 1 MB SRAM no DRAM refresh DMA. Smokin. Would be like 286+ performance on a PC 5160 like platform.

Sadly the supplies of a lot of these chips have dried up or have been saturated with Chinese bootlegs making this little more than a dream.
 
Last edited:
  • Love
Reactions: LaLoneDigi
LittleAndAlone said:
Another thing I always wanted to do was building a custom super PC/XT with a NEC V53A with 16 bit ISA and a custom VGA core with a tile layer and sprite accelerator VDP. We never got hardware 2D acceleration in that era, consoles kicked the crap out of PC with their tile and sprite hardware.

20 MHz 8086 with hard wired decode and 16 bit external bus, and I think a 2 cycle bus access instead of the standard 4. 1 MB SRAM no DRAM refresh DMA. Smokin.

Sadly the supplies of a lot of these chips have dried up or have been saturated with Chinese bootlegs making this little more than a dream.
I hear your pain. I have lots of tech hobbyist friends who have been unable to pursue their projects. Between shortages and price hikes, there hasn't been much room for fun...
 
LaLoneDigi said:
I hear your pain. I have lots of tech hobbyist friends who have been unable to pursue their projects. Between shortages and price hikes, there hasn't been much room for fun...
My dream was a custom XT clone with a 20 MHz V53A, Ensoniq ES5506 32 channel sample synth with ES5510 effects DSP, and a custom VGA with a FPGA that implemented SNES/GBA equivalent tile layers and sprites.

Those chips (V53A, ES5506, ES5510) were pretty niche in their time as it was. They are very hard if not impossible to source in bulk now days even before pandemic BS.

I'd wanted to use real legacy ASICs for fun but it's more feasible to just build the whole thing into a FPGA as a SoC. Which makes it very hard to behave and keep things reasonably era correct with that much power.

Looks like the Yamaha v9990 VDP stock has dried up too.
 
Last edited:
  • Love
Reactions: LaLoneDigi
Knew I had one laying around.

32 channel sample synth used in TS10/12 keyboards, Gravis Ultrasound wavetable cards and many 68000 based arcade PCBs esp Taito.

Mated with ES5510 DSP for effects like chorus, reverb, echo, etc. and 16 MB sample RAM you have SNES audio on steroids.

20230518_092104.jpg
 
Last edited:
  • Love
Reactions: LaLoneDigi
T
LittleAndAlone said:
Knew I had one laying around.

32 channel sample synth used in TS10/12 keyboards, Gravis Ultrasound wavetable cards and many 68000 based arcade PCBs esp Taito.

Mated with ES5510 DSP for effects like chorus, reverb, echo, etc. and you have SNES audio on steroids.

View attachment 109354
That would be such a rad set up! I love those Taito games. I knew someone with a Gravis Ultra Soundcard. I didn't know it was the same chip.
 
LaLoneDigi said:
T

That would be such a rad set up! I love those Taito games. I knew someone with a Gravis Ultra Soundcard. I didn't know it was the same chip.
It was sorely underutilized as most implementations used a generic general MIDI interface with associated severe limitations and crap sample banks, and PC cards often lacked the effects DSP that made the Ensoniq keyboards sound amazing.

There was a GUS demo scene around manually programming the chip with custom samples and using all the features natively where it shined and obliterated everything else. CD quality programmable module/tracker based audio.

Sample synths got little time to shine sadly. Few people wanted to program them correctly and few people had them. Creative pushed Sound Blaster FM, MIDI, and DAC in everyone's faces and sought to destroy sample synth competition.

By the time PSG and FM audio was on the way out and hardware sample synths started to make an appearance, people wanted to be cheap and lazy and just use out of the box general MIDI or just jump straight to raw PCM DAC streaming or just straight redbook CD audio. Also by the time sample synth came to be CPU and bus speeds were no longer a limitation and allowed trivial software sample synth and mixing to a generic stereo DAC (mod/xm/it/s3m trackers). An approach used by Game Boy Advance with its 16 MHz ARM and DMA (it just has a stereo DAC, no actual sound processor hardware)

SNES was probably the most well known example of what sample synth could be, and it was only 8 channels and 32k sample RAM.

Coincidentally Apple IIgs, the only other mainstream system to use the same 65816 CPU as SNES, also used sample synth via a similar ES5503 chip and could make some good tunes in the right hands.
 
Last edited:
abrich said:
Thanks for your your reply. :)

What software did you use? I find there's so much written about games for machines like the C64, but very little is ever said about the productivity programs that were available. I can see that games were more exciting, but I think it's interesting to look back on what's changed when it comes to application software.
Mainly EasyScript.
 
More nerd trivia.

The custom Sony designed S-SMP and S-DSP used in the SNES sound system, which became one of the most iconic and memorable characteristics of the SNES, was responsible for half the cost of the $199 SNES at launch.

The same partnership was meant to lead to the eventual SNES 32 bit CD ROM addon until Nintendo back stabbed Sony. The hardware that was meant to be the SNES CDROM was eventually expanded upon as a stand alone console to become the Playstation.

Talk about shooting themselves in the foot. Nintendo never quite recovered from that downfall and loss of SNES defining third party devs until Switch, if we aren't counting the success of Wii with the casual shovelware market. N64, GameCube, Wii, and Wii U never could recapture the SNES generation momentum after they inadvertently created the Playstation juggernaut.
 
Last edited:
  • Like
Reactions: Cottontail
LittleAndAlone said:
Are any of the other features like DMA or the custom memory mapped multiplier/divider accessible?
The general-purpose DMA and hardware multiply/divide are definitely accessible, but I didn't touch any of that stuff. Truth be told, my expectations for this project were pretty low, and by the time I had BASIC working I was feeling satisfied and decided to work on something else for a while. I might go back and play with it some more at some point--give it more RAM and a 16-bit personality.

LittleAndAlone said:
Dual ported SRAM coupling, what mechanism/protocol to start/stop and synchronize 65816 operation? There a bootloader ROM in there to start it up?
Dual-port memories are the shameless cheaterā€™s answer to this exact problem. Like most, this one has a ā€œmail slotā€ feature ā€”dedicated addresses on each port that generate interrupts on the opposite port. Thatā€™s like 99% of a simple BIOS right there. Thereā€™s also a hardware semaphore but I never implemented that. On startup, the Arduino just holds the 5A22 in reset while it copies code to RAM, then lets 'er rip.

LittleAndAlone said:
I was referring to S-DSP there. Only used half of the 64k for samples but wonder how much more you could use.
It would be fun to play with one. For some time after I found the tray of 5A22's, I kept an eye on eBay, hoping to find the rest of the chipset. No luck though. If I ever get the itch to play with those other chips, I suppose I'll have to raid them from consoles. I really don't want to do that though.

I haven't played with Game Boy stuff at all, but have spent A LOT of time with the 2A03. That's as much as I'll say about that one, because my exploits there are well documented elsewhere.
 
  • Like
Reactions: LittleAndAlone
Cottontail said:
The general-purpose DMA and hardware multiply/divide are definitely accessible, but I didn't touch any of that stuff. Truth be told, my expectations for this project were pretty low, and by the time I had BASIC working I was feeling satisfied and decided to work on something else for a while. I might go back and play with it some more at some point--give it more RAM and a 16-bit personality.


Dual-port memories are the shameless cheaterā€™s answer to this exact problem. Like most, this one has a ā€œmail slotā€ feature ā€”dedicated addresses on each port that generate interrupts on the opposite port. Thatā€™s like 99% of a simple BIOS right there. Thereā€™s also a hardware semaphore but I never implemented that. On startup, the Arduino just holds the 5A22 in reset while it copies code to RAM, then lets 'er rip.


It would be fun to play with one. For some time after I found the tray of 5A22's, I kept an eye on eBay, hoping to find the rest of the chipset. No luck though. If I ever get the itch to play with those other chips, I suppose I'll have to raid them from consoles. I really don't want to do that though.

I haven't played with Game Boy stuff at all, but have spent A LOT of time with the 2A03. That's as much a? I'll say about that one, because my exploits there are well documented elsewhere.
Ah so don't screw up your IPL or you'll never get it back. šŸ¤£ Or do you have user software control over the reset on the Arduino side?
 
Last edited:
I never had a Playstation. But to suggest that Nintendo somehow "lost the console wars" to Sony is only half the story. I did have a Nintendo 64, a Gamecube, and portables from an original Gameboy to a 3DS XL. Nintendo's advantage was content. Mario, Zelda, and Pokemon were licenses to print money and still are. There's an animated movie that looks like Super Mario 64 playing at a theater near you.
 
Back
Top