- Messages
- 2,724
- Role
- Adult Baby
- Diaper Lover
- Little
Would you like out of order execution or branch prediction with your order?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?ade said:I feel I've just had them read out the menu to me at the drive-thru
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.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?
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?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.
Whatever, as long at it comes with chips with DIPs.....and miniaturize me!LittleAndAlone said:Would you like out of order execution or branch prediction with your order?
OMGade said:Whatever, as long at it comes with chips with DIPs.....and miniaturize me!
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.LittleAndAlone said:Wonder how much physical address space they actually have, SNES was pretty limited with shared split 64K code/sample RAM.
I was referring to S-DSP there. Only used half of the 64k for samples but wonder how much more you could use.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 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...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.
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.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...
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.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
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.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.
Mainly EasyScript.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.
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:Are any of the other features like DMA or the custom memory mapped multiplier/divider accessible?
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:Dual ported SRAM coupling, what mechanism/protocol to start/stop and synchronize 65816 operation? There a bootloader ROM in there to start it up?
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.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.
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?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.