3 ms·
Using a foreign CPU architecture for a co-processor was a very common practice in the 90s, even early 2000s; e.g. the GameBoy Advance has a regular ARM CPU as i
by rollcat 4y ago
Using a foreign CPU architecture for a co-processor was a very common practice in the 90s, even early 2000s; e.g. the GameBoy Advance has a regular ARM CPU as it's brain, but it also hosts an entire GBC on board (including a custom Z80/8080 clone/hybrid) - mostly for backward compatibility, but it performs other regular duties (such as sound) even in "GBA mode".
GBA is a fascinating system, the main CPU is powerful enough to do some serious work - some games even had pretty decent 3D (check out Colin McRae Rally 2.0); all while remaining simple enough architecturally that you could mostly keep the whole thing mapped out in your head. You get to learn about many modern concepts such as instruction pipelining, caches, etc but it's not as complex as to overwhelm you, and you still get to play with funky quirky stuff like the sound chip, that throws you back into the 1980s. You can also still get them pretty cheap, I paid ~€120 for a GBA SP (AGS-101) with case, dongles & a flash cart, so I can trivially run homebrew stuff on real hardware.
https://en.wikipedia.org/wiki/Game_Boy_Advance https://en.wikipedia.org/wiki/Game_Boy_Advance; https://duckduckgo.com/?t=ffab&q=colin+mcrae+rally+gba&iax=images&ia=images https://duckduckgo.com/?t=ffab&q=colin+mcrae+rally+gba&iax=i...; https://gbadev.org https://gbadev.org ; https://docs.rs/gba/latest/gba/ https://docs.rs/gba/latest/gba/
- JonathonW 4y agoNintendo DS did something similar, with the GBA’s ARM7 running in conjunction with the DS’s ARM9 and acting largely as an I/O coprocessor (IIRC) and handling backwards compatibility. The Wii and Wii U go a little further; in addition to the main PPC CPU, there’s an ARM core handling auxiliary tasks (mostly security and I/O related, but it’s also involved in early boot IIRC). That one’s not there for backwards compatibility; it’s purely there as a coprocessor.
- xioxox 4y agoThe 6502-based BBC Micro had this in the 80s as the Tube. This could run a Z80 and other processors. The interface was initially used in the development of the Arm processor: https://en.wikipedia.org/wiki/Tube_(BBC_Micro) https://en.wikipedia.org/wiki/Tube_(BBC_Micro)
- maribi 4y ago[dead]