ksherlock / ample

Apple Emulator Frontend for MAME
89 stars 6 forks source link

Apple //c ROMs Selection? #33

Open brunocastello opened 3 months ago

brunocastello commented 3 months ago

Apparently the Apple2c.zip ROMs file has some of the ROMs used by the //c, including ROM 0.

My particular interest is in ROM 0, the same used by my real //c model, and the app has been useful for me and my dad to test and prepare disk images for use with the //c, along with several other tests.

My understanding is that AMPLE/MAME is using the ROM 255, and I havent found a way to change the ROM model used?

A simple PRINT PEEK(64447) will tell you the ROM model used by the machine.

ksherlock commented 3 months ago

The next version will include more //c options.

brunocastello commented 3 months ago

Thanks - in the meantime, I cloned the repo and was willing to compile it myself - I noticed there are some dependencies, how do I get the required dependencies to compile it on Xcode?

brunocastello commented 3 months ago

Nevermind - I managed to compile it myself; I tested it and it ran flawlessly. I have a small feedback for you if you don't mind it, always with the intention of helping you:

1) I was suprised to see that you chose to display a few //c "models" on the sidebar, rather than the solution you used for the Mac Plus there, where you choose the ROM from a dropdown menu before launching it, but hey, it works, that's OK;

2) The ROM 0 has support for 3.5" UniDisk floppy drive and SmartPort, however it isnt available yet; I suppose you haven't finalized it or implemented it yet.

Below I have a small excerpt from Big Mess o'Wires website, which describes the details for each of the 4 available ROM versions for the //c:

IIc ROM Versions

For the curious, you can type PRINT PEEK (64447) at the BASIC prompt to find what ROM version is present in an Apple IIc. There are four versions:

255 – The original Apple IIc ROM, size 16K. No support for Smartport disks. However, it has a nifty “PR#7” feature that allows for booting from an external floppy drive configured as drive #2, something that’s not normally possible. This was the ROM installed in my IIc. In my tests, PR#7 worked to begin booting from the external drive, but most software seemed to be hard-coded to expect to boot from drive #1. The disks would start the boot process, but then the empty drive #1 would begin seeking in vain. The only disks I found that booted successfully from drive #2 were ProDOS and the game Moon Patrol. 0 – With version 0, the ROM doubled in size to 32K. This ROM version eliminated the option for booting from drive #2, but added support for Smartport disks. The most common of these was the Unidisk 3.5, an intelligent external 800K floppy drive. But the Smartport protocol could also be used to communicate with other types of external disks, including hard disks up to 32MB in size. 3 – Version 3 accompanied a logic board change, making it possible to expand the IIc’s memory. 4 – Version 4 corrected some bugs present in version 3.

Source: https://www.bigmessowires.com/2015/05/29/apple-iic-rom-upgrade/

I'll be buying a ROMXc upgrade for my //c at the end of the year, so I can run each ROM based on every different task I want to achieve with my real Apple //c. Here is the ROMXc: https://jdmicro.com/hardware/romxc

I am mentioning it because I also noticed that you added to the newer Apple II models support for modern custom cards such as the Uthernet and CFFA 2.0.

Hope this helps!

ksherlock commented 3 months ago

MAME decided on having separate models instead of one model with separate roms. That might be because there are physical differences between the machines, or maybe it's because they were created before multiple rom support was added. MAE does not currently emulate UniDisk stuff.

brunocastello commented 3 months ago

Hi, I understand.

However I have a question - UniDisk stuff (from ROM 0 and later) for me means, the same stuff that is in the //c Plus, I mean, support for using an external 3.5" Disk drive or an external 32MB hard drive (just like a regular //e, provided it has the right interface card, for example) in Drive 2. So you are saying it is a case of MAME adding it to the //c, so this isn't an issue with the Ample UI to work on?

ksherlock commented 3 months ago

Right, MAME doesn't support external hard drives or unidisks, etc, for the IIc.