Open upintheairsheep opened 3 months ago
Much of the components that make up a Pipppin are already emulated. The biggest hurdle is to find documentation on the TAOS graphics processor, which may or may not be a simple framebuffer. I might get started on a skeleton to see how far I can get.
Looks like there's a good central reference for dumping/finding info here now: https://emulation.gametechwiki.com/index.php/Apple_Pippin -- although I'm not sure how useful it'll be, considering one of the quoted sources there appears to be me :D
Thinking about this a bit... is the Taos GPU at all related to Tao Group, which produced TAOS in Japan in the same period as the Pippin? https://en.m.wikipedia.org/wiki/Tao_Group
The Intent platform could be run either as the native operating system or as an application. Service code was delivered in a format called Virtual Processor (VP), which was translated on the device to native machine code.
The Intent portfolio included support for:
[C](https://en.m.wikipedia.org/wiki/C_(programming_language))/[C++](https://en.m.wikipedia.org/wiki/C%2B%2B) games with [OpenGL ES](https://en.m.wikipedia.org/wiki/OpenGL_ES) 3D rendering A [Java](https://en.m.wikipedia.org/wiki/Java_(programming_language)) virtual machine which translated to native code An [internet browser](https://en.m.wikipedia.org/wiki/Internet_browser) optimised for small screens A music and multimedia [mixer](https://en.m.wikipedia.org/wiki/Mixing_console) called miniMIXA A [MIDI](https://en.m.wikipedia.org/wiki/MIDI) [ringtone](https://en.m.wikipedia.org/wiki/Ringtone) engine called the Advanced Polyphone Ringtone Engine.
This really sounds like the same hardware, with the Pippin using an early version of the Intent engine for graphics processing. The hardware would make sense, given Apple's intention to make this a gaming platform that didn't require a specific hardware reference platform.
All this to say, we may have a route forward here, since Intent was designed to be platform agnostic and had implementation libraries for Java as well as a number of SDKs. https://wiki.c2.com/?TaoIntentOs may also be of use.
An intriguing bit here is that by the time it was renamed to Intent, it appears that OpenGL support was present (which I'm pretty sure wasn't there with the TAOS graphics hardware in the Pippin?)
Anyway, just recording some random thoughts on the topic in case they help someone down the line.
The Pippin BIOS can boot, but the AppleJack controller is not yet supported.
FYI, I'm working on MESH SCSI controller emulation so Pippin can boot games off its internal CD-ROM drive. AFAIK, Keith Kaisershot is working on AppleJack emulation for DingusPPC. In other words, the chances are good that Pippin emulation in DingusPPC will be usable very soon.
Can you add support for the Apple Pippin as a machine, and add the [https://retrostuff.org/2019/11/24/pippin-atmark-adb-adapter-dongles/ AppleJack] pADB (modified ADB) controller as a joystick? Pippin emulation already exists as partial support in MAME, but there is no viable Pippin emulator, so having it supported here would be nice.