cebix / macemu

Basilisk II and SheepShaver Macintosh emulators
1.4k stars 292 forks source link

Apple Bandai Pippin? #75

Open DerekTurtleRoe opened 9 years ago

DerekTurtleRoe commented 9 years ago

Has anybody tried running Apple Bandai Pippin software on SheepShaver? Or any other Apple emulator (I thought PearPC said it had minimal support for it, I could be wrong though)?

Does anybody have any Apple Bandai Pippin software to test? I was going to write an emulator from scratch, but I suppose I could take most of the Apple hardware emulation from other emulators and just try to emulate the custom Mac OS that it had.

I don't know, I'm kind of brainstorming, so feel free to vomit up any ideas you may have.

Thanks guys.

Metal-Snake commented 9 years ago

With some work it might be possible, there was a discussion at the emaculation forum a few years ago: http://www.emaculation.com/forum/viewtopic.php?f=1&t=7083

But from what I read it doesn't seem like a good idea use SheepShaver as a base for a new emulator because it isn't even possible to compile it with nowadays compilers. See the last few posts in this thread: http://www.emaculation.com/forum/viewtopic.php?f=20&t=8332&start=25

I think I read that there was some Pippin work done in mess, so you might want to check that one, or qemu.

asvitkine commented 9 years ago

It's probably much easier to fix the small issues to make SheepShaver work with modern compilers than it is to write a new emulator for Pippin.

Also, as far as I'm aware, the SheepShaver compiled with the Xcode 3.4 toolchain still runs on modern OSes. So worst case scenario the person building it just has to run Xcode 3.4. (This has the benefit of the built SheepShaver running on older OSes as well - as if you build a program with modern Xcode, you'll have a lot of trouble getting that program to run on e.g. 10.6).

On Mon, Jun 29, 2015 at 10:07 AM, Diskutant notifications@github.com wrote:

With some work it might be possible, there was a discussion at the emaculation forum a few years ago: http://www.emaculation.com/forum/viewtopic.php?f=1&t=7083

But from what I read it doesn't seem like a good idea use SheepShaver as a base for a new emulator because it isn't even possible to compile it with nowadays compilers. See the last few posts in this thread: http://www.emaculation.com/forum/viewtopic.php?f=20&t=8332&start=25

I think I read that there was some Pippin work done in mess, so you might want to check that one, or qemu.

— Reply to this email directly or view it on GitHub https://github.com/cebix/macemu/issues/75#issuecomment-116681933.

Metal-Snake commented 9 years ago

Sure, you can always use old software, but then you could also use the original Pippin. ;)

Also from the thread I linked: "SheepShaver expects to reference all memory from a base of address 0, which doesn't play nicely with the memory obfuscation routines introduced in recent compilers, and so they throw a "reference from address 0" error or similar IIRC.

Considering the entire way SheepShaver handles memory is based around being able to do this, fixing it is not a minor undertaking."

asvitkine commented 9 years ago

That's only one of the possible addressing modes Sheepshaver can be configured with.

On Mon, Jun 29, 2015 at 11:38 AM, Diskutant notifications@github.com wrote:

Sure, you can always use old software, but then you could also use the original Pippin. ;)

Also from the thread I linked: "SheepShaver expects to reference all memory from a base of address 0, which doesn't play nicely with the memory obfuscation routines introduced in recent compilers, and so they throw a "reference from address 0" error or similar IIRC.

Considering the entire way SheepShaver handles memory is based around being able to do this, fixing it is not a minor undertaking."

— Reply to this email directly or view it on GitHub https://github.com/cebix/macemu/issues/75#issuecomment-116736110.

DerekTurtleRoe commented 9 years ago

@Diskutant When you say "nowadays compilers", how recent are we talking? So if I run make on the current makefile will it not work?

"you could also use the original Pippin"

Yeah, about that. :laughing:

Pippins are extremely rare and working ones are even harder to find. The items on eBay are all $650 or more, and most just have the chassis with no cables, controllers, etc. And no games, to boot.

So basically if I wanted a real Pippin, I would have to spend upwards of $750 on the console, find games and controllers, replace any broken or missing parts, then get the OS/system setup somehow. Some have the disc drive working, some don't. I'm not sure if the Pippin software has been dumped yet, but if so then I suppose I could burn a few just to try it.

As far as I can tell, the Japanese console is much more common as well. The problem is that all the consoles currently available on eBay are Japanese. I don't speak Japanese unfortunately.

I'd like to get the real hardware for testing and everything, but that isn't in my budget (or anybody else's most likely).

I know it runs Mac OS 7.5.2, and I know it runs mostly standard Mac hardware. The difficult part is most likely the software. Although, most of the games were compatible with both Macs and the Pippin. So that means most games are already possible to emulate. The relatively low number of software titles released also helps somewhat, as getting stuff to work will be easier when you have less stuff to test.

I am currently going over the MAME/MESS/UME source now...

MaddTheSane commented 9 years ago

As far as hardware goes, I think the controller connectors are ADB ports in a different form factor. IIRC, the Pippin also very similar to a Power Mac 6100, hardware-wise. Also, the boot file it looked for was different: it was, I think, PippinFinder.

On Jun 29, 2015, at 8:14 PM, vgturtle127 notifications@github.com wrote:

@Diskutant https://github.com/Diskutant When you say "nowadays compilers", how recent are we talking? So if I run make on the current makefile will it not work?

"you could also use the original Pippin"

Yeah, about that.

Pippins are extremely rare and working ones are even harder to find. The items on eBay are all $650 or more, and most just have the chassis with no cables, controllers, etc. And no games, to boot.

So basically if I wanted a real Pippin, I would have to spend upwards of $750 on the console, find games and controllers, replace any broken or missing parts, then get the OS/system setup somehow. Some have the disc drive working, some don't. I'm not sure if the Pippin software has been dumped yet, but if so then I suppose I could burn a few just to try it.

As far as I can tell, the Japanese console is much more common as well. The problem is that all the consoles currently available on eBay are Japanese. I don't speak Japanese unfortunately.

I'd like to get the real hardware for testing and everything, but that isn't in my budget (or anybody else's most likely).

I know it runs Mac OS 7.5.2, and I know it runs mostly standard Mac hardware. The difficult part is most likely the software. Although, most of the games were compatible with both Macs and the Pippin. So that means most games are already possible to emulate. The relatively low number of software titles released also helps somewhat, as getting stuff to work will be easier when you have less stuff to test.

I am currently going over the MAME/MESS/UME source now...

— Reply to this email directly or view it on GitHub https://github.com/cebix/macemu/issues/75#issuecomment-116913665.

Metal-Snake commented 9 years ago

@Diskutant When you say "nowadays compilers", how recent are we talking? So if I run make on the current makefile will it not work?

You need OS X 10.6 (Snow Leopard) to compile SheepShaver. 10.7 (Lion), released in July 2011 won't work. Well maybe you can use older compilers in 10.7, never tried and never read anything about that. But you got the idea about how recent.

claunia commented 9 years ago

SheepShaver and Basilisk II work patching a lot of pieces of the ROM (Toolbox and Nanokernel) and the OS itself. How compatible are those patches with the Pippin ROM should be the first part to check, and will require deep knowledge of them (plus, they're in 68k and/or ppc assembly).

MAME or QEMU would be a better place to go, IMHO, to get a more exact Pippin emulation. The thing is that MAME is almost uncomplete and QEMU already emulates most of PCI PowerPC macintosh devices.

But QEMU is really modular and should be easy to emulate the needed devices and the NuBus.

Also there is currently an ongoing GSoC under QEMU to correct the emulator bugs so Mac OS <= 9 runs (Mac OS X 10.2, .3 and .4 already do). This means you can collaborate with this effort, but targeting Pippin. http://c-obrien.org/qemu-os9/

About dumps, I think all known ROM versions and published software is dumped already.

Finally, two facts. The Pippin discs are copyprotected with a hash, but not much has been tested about how it is created. CD-Rs can boot on debug ROMs, but retail ROMs will refuse and there is no known patch for that. PearPC has never tried to emulate a NuBus mac or Mac OS <=9, it simply provides OpenFirmware drives and devices for Mac OS X to boot on.

DerekTurtleRoe commented 9 years ago

@MaddTheSane Yeah, I remember seeing the ADB ports and thinking they were different somehow. Internally I'm not really sure, but I do know they have a sort of locking mechanism added as well as some reliability enhancements (mostly gold contacts, better plastic, and a deeper shell so it goes further into the machine to prevent accidental cord disconnection from causing damage).

Yeah, most of the Apple stuff had Pippin in front of it. Mainly just for fun, as far as I can tell. :laughing:

@Diskutant So not the latest, but not ancient either. OK. Too bad I don't have a Mac. lol

@claunia From my experience trying to create patches, forks, and specialized versions of QEMU for various reasons, I usually try to stay away. With the exception of a few things, I don't really like to use it if I can avoid it. Mainly because I just seem to run into problems with getting it to work on my system without being really buggy. But I will definitely take a look at the source and see what I can do with it.

XQEMU is something I like working on, and I like emulation of various Mac systems and ARM stuff.

"All known ROM versions and published software is dumped already" :grinning:

Well, hot damn! I wasn't expecting that. (Sorry about my excitement, I'm use to trying to emulate systems that have no emulators, documentation, are hard to find, and have no dumped software. :laughing: )

So have all the hashes been documented? Is it a hash of seperate content of the disc, or the disc as a whole? I was thinking we could just patch an ISO with the hash of a game or whatever and it would just be like "OK, sure". Maybe it is more sophisticated than that? I'd have to test.

About PearPC, I need to take a better look at it's source. I remember back in the day trying to get it to run Mac OS X and since I was a bit of a noobie, I just gave up. It's on GitHub now, so I guess there isn't a better time.

Great info, guys! :smiley:

claunia commented 9 years ago

@vgturtle127 I don't know much about the copy protection. There is a non-technical PDF from Apple informing that the copy protection pretty much requires the disks to be mastered by specific Pippin-enable mastering sites, so this is a bet that the hash is in a section not writable on a CD-R. Afaik, it's a signed hash of the whole disc data (tracks), signed using a private Apple key.

Internally the Pippin is just another Mac, dunno if NuBus or PCI based.

I've never had any problem with QEMU whatsoever.

MaddTheSane commented 9 years ago

To my knowledge, it's based on the PM 6100's motherboard, so it's probably NuBUS.

Sent from my iPad

On Jul 18, 2015, at 9:20 PM, Natalia Portillo notifications@github.com wrote:

Internally the Pippin is just another Mac, dunno if NuBus or PCI based.

— Reply to this email directly or view it on GitHub.

claunia commented 9 years ago

@MaddTheSane a quick check from wikipedia ( https://en.wikipedia.org/wiki/Apple_Pippin ) defies that. Seems that it is PCI based. It also has a lot of links and information useful for an emulation.

MaddTheSane commented 9 years ago

Huh, I was certain it was based off of the 6100, but it doesn’t look like it :/ For one, I’m fairly certain the 6100 didn’t have a 603, but a 601.

On Jul 18, 2015, at 10:24 PM, Natalia Portillo notifications@github.com wrote:

@MaddTheSane https://github.com/MaddTheSane a quick check from wikipedia ( https://en.wikipedia.org/wiki/Apple_Pippin https://en.wikipedia.org/wiki/Apple_Pippin ) defies that. Seems that it is PCI based. It also has a lot of links and information useful for an emulation.

— Reply to this email directly or view it on GitHub https://github.com/cebix/macemu/issues/75#issuecomment-122622884.

DerekTurtleRoe commented 9 years ago

Has the private key been found? Just curious.

Also thanks for the Wikipedia link. I checked there before and started creating a reference document, but forgot about it until now. Found some good stuff. :smile:

Also, has anybody ever taken a close-up image of an Apple Bandai disc before? That could be useful for me.

claunia commented 9 years ago

@vgturtle127 no, it has not be found. And no one has tried to hack it out, simply because debug and retail-v1.3 ROMs do not do the check.

Unfortunately Pippin is the only system for which I don't have a single disc at all, otherwise I could provide. Have you checked Google Images?

DerekTurtleRoe commented 9 years ago

Oh, alright. I suppose that makes sense.

I did check Google images, and Bing as well actually. Nobody has taken an image of the bottom of the disc, just the top. And the one that has the top is extremely low-res, otherwise I might actually be able to use it since it doesn't have printing on the entire disc. :disappointed:

Would it be plausible to run homebrew then on the Pippin, and if so is there an official SDK, or is it more open than that since it has a computer background to most of the design?

If I can run homebrew on it, I might be able to find out more about the system. Once I have some basic emulation, I mean.

claunia commented 9 years ago

It does have an official SDK (it's leaked on internet). Also any software that did not call to the hardware and simply used Mac OS provided services (QT3D, etc) will work. The Pippin doesn't have any special hardware whatsoever, except for the gamepads.

DerekTurtleRoe commented 9 years ago

Alright, great! I will have a look and see what I can come up with! Thanks @claunia ! :smile:

mascondante commented 6 years ago

Anyone manage to put an alpha product together yet? Been a few years.

DerekTurtleRoe commented 6 years ago

@mascondante Not me, I am still working on other projects. Maybe sometime though. 😄