Discussion:
Ultima & Mockingboards on each of the Apples
(too old to reply)
Great Hierophant
2005-12-24 20:49:07 UTC
Permalink
Each of the Ultimas that work with a Mockingboard, Ultima III, Ultima
IV and Ultima V,
While each game works in any Apple II with 64KB of RAM, not all will
play Mockingboard music on each Apple II. Lets go over each game on
each type of system:

Ultima III: Exodus

Supports Sound I, Spound/Speech, Sound II
Utilizes One AY-891x Chips maximum

Apple II - Yes (crashes AppleWin though)

Apple IIe - Yes

Apple IIc - Unknown, only if it works with Mockingboard D.

Apple IIgs - I have read reports that it does work, but others state
that it doesn't.

Ultima IV: Quest of the Avatar

Supports Sound I, Sound/Speech, Mockingboard A or Mockingboard C
Utilizes Two AY-891x Chips maximum

Apple II - Yes

Apple IIe - Yes

Apple IIc - Unknown, only if it works with Mockingboard D.

Apple IIgs - Not unless patch is used.

Ultima V: Warriors of Destiny

Supports Sound I, Sound II, Sound/Speech, Mockingboard A, Mockingboard
C, Phasor
Utilizes Four AY-891x Chips maximum

Apple II - No, "Activate Music" option is removed from main menu

Apple IIe - Yes (requires 128KB ala Commodore 64/128 Version)

Apple IIc - Unknown, only if it works with Mockingboard D.

Apple IIgs - Not unless patch is used.
Kevin Greene
2005-12-25 04:02:36 UTC
Permalink
I'm pretty sure that Ultima V would work with an apple II+ if you had
enough memory, at least I seem to remember that but I'm not sure.

None of the mockingboard setup menus for ultima list the mockingboard D.
I seem to remember reading that a program needed different drivers for
the D which would make sense but I've never used one.

I'm working on a mockingboard and software compatibility page on my
apple II wiki, feel free to contribute:

http://www.applevault.com/cgi-bin/twiki/view/Main/Mockingboard


Kevin
Post by Great Hierophant
Each of the Ultimas that work with a Mockingboard, Ultima III, Ultima
IV and Ultima V,
While each game works in any Apple II with 64KB of RAM, not all will
play Mockingboard music on each Apple II. Lets go over each game on
Ultima III: Exodus
Supports Sound I, Spound/Speech, Sound II
Utilizes One AY-891x Chips maximum
Apple II - Yes (crashes AppleWin though)
Apple IIe - Yes
Apple IIc - Unknown, only if it works with Mockingboard D.
Apple IIgs - I have read reports that it does work, but others state
that it doesn't.
Ultima IV: Quest of the Avatar
Supports Sound I, Sound/Speech, Mockingboard A or Mockingboard C
Utilizes Two AY-891x Chips maximum
Apple II - Yes
Apple IIe - Yes
Apple IIc - Unknown, only if it works with Mockingboard D.
Apple IIgs - Not unless patch is used.
Ultima V: Warriors of Destiny
Supports Sound I, Sound II, Sound/Speech, Mockingboard A, Mockingboard
C, Phasor
Utilizes Four AY-891x Chips maximum
Apple II - No, "Activate Music" option is removed from main menu
Apple IIe - Yes (requires 128KB ala Commodore 64/128 Version)
Apple IIc - Unknown, only if it works with Mockingboard D.
Apple IIgs - Not unless patch is used.
Great Hierophant
2005-12-25 17:58:12 UTC
Permalink
Any extra memory for the Apple II+ could use a different method of
memory organization than the Apple IIe, which came out four years
later. You would really need a memory card that would fool Ultima V
into thinking that it was being played on an Apple IIe. Otherwise, you
would need to write a patch that would modify the Apple II+ detection
routine and allow it to allocate the extra memory appropriately. I
assume, however, that memory expansions beyond the Language Card for
the Apple II+ were implemented differently from manufacturer to
manufacturer, so that might be difficult.
Great Hierophant
2005-12-26 18:34:14 UTC
Permalink
By the way, if anyone can show that Ultima V can work with
Mockingboards on an Apple II+, I will glady buy it and pay generously
for it.
TomCh
2005-12-27 23:01:46 UTC
Permalink
Post by Great Hierophant
Each of the Ultimas that work with a Mockingboard, Ultima III, Ultima
IV and Ultima V,
While each game works in any Apple II with 64KB of RAM, not all will
play Mockingboard music on each Apple II. Lets go over each game on
Ultima III: Exodus
Supports Sound I, Spound/Speech, Sound II
Utilizes One AY-891x Chips maximum
Apple II - Yes (crashes AppleWin though)
AppleWin doesn't crash... the Apple crashes to the monitor :-)

According to my notes, this is because:
"...for the Apple]['s ROM, the IRQ vectors to 'OLDRESET' which just
exits to the Monitor"

I've not got the time to check this, but maybe Ultima III expects a 64K
Apple ][, but AppleWin only emulates a 48K Apple ][ (and obviously a
128K Apple //e).

Can anyone confirm if it's the type of Apple ][ that's being emulated
that causes the crash? Or if it's a bug in the emulator?

Tom
Great Hierophant
2005-12-28 01:45:07 UTC
Permalink
Post by TomCh
AppleWin doesn't crash... the Apple crashes to the monitor :-)
That is the correct behavior. I would note that Ultima III does not
crash in MESS (0.100) when you select an Apple II or II+ and set the
RAM size to 64 or 48KB but plays normally. However, Mockingboard
emulation does not seem to be fully implemented in MESS.

I would assume that MESS is displaying the correct behavior, only
because Ultima III's box does not say "Apple IIe required for
Mockingboard emulation" and why limit your Mockingboard music to a
somewhat limited market (Apple IIe owners) in 1984?
Linards Ticmanis
2005-12-28 10:11:04 UTC
Permalink
Post by Great Hierophant
I would assume that MESS is displaying the correct behavior, only
because Ultima III's box does not say "Apple IIe required for
Mockingboard emulation" and why limit your Mockingboard music to a
somewhat limited market (Apple IIe owners) in 1984?
I can confirm that Ultima III works with a Mockingboard in a real II+,
no matter whether it has a language card installed or not. It's likely
that it doesn't work on an "Old Monitor" II though, because its IRQ
vector is fairly useless (and at least on an 48K machine, unchangable).
--
Linards Ticmanis
Great Hierophant
2005-12-28 14:29:48 UTC
Permalink
I believe that AppleWin is using the Autostart ROM and the newer
Monitor. Virtually all Apple II+s would be using it. However, I tried
Ultima III on the old Apple II in MESS, the driver that starts at the
monitor and comes with Integer Basic, and it did not crash to the
monitor when I tried it with 64 or 48KB.
TomCh
2005-12-28 14:40:08 UTC
Permalink
AppleWin emulates an Apple][+ (64K, not 48K as I stated above). But you
are right, this isn't the issue here.

Ultima III sets up the addr of the IRQ handler in $3FE/F, but
AppleWin's Apple][+ ROM has $FFFE/F = $FF59 = OLDRST. If I modify this
via AppleWin's monitor (me fffe 40 fa), then Ultima III's MB playback
routine works (the mod patches the ROM to vector to $FA40 = OLDIRQ).

I don't understand why the ROM would vector to OLDRST on an IRQ (I
can't believe that it's been patched to do this!). The ID bytes
indicate that it's an Apple][+ ROM.

Last 4 bytes of ROM: 62 FA 59 FF

FF59: ; OLDRST
jsr SETNORM ; 20 84 fe
jsr INIT ; 20 2f fb
jsr SETVID ; 20 93 fe
jsr SETKBD ; 20 89 fe
MON:
cld
jsr BELL
Lyrical Nanoha
2005-12-28 15:49:13 UTC
Permalink
Post by TomCh
Ultima III sets up the addr of the IRQ handler in $3FE/F, but
AppleWin's Apple][+ ROM has $FFFE/F = $FF59 = OLDRST. If I modify this
via AppleWin's monitor (me fffe 40 fa), then Ultima III's MB playback
routine works (the mod patches the ROM to vector to $FA40 = OLDIRQ).
I don't understand why the ROM would vector to OLDRST on an IRQ (I
can't believe that it's been patched to do this!). The ID bytes
indicate that it's an Apple][+ ROM.
I have a few variant Apple ][+ ROM dumps and assemblies lying around.
They have IRQ properly vectored to $FA40 "newirq". You could always
replace the monitor code with mine. xD; or replace the rom with FPBASIC
from the 1980 system disk.

-uso.
Great Hierophant
2005-12-28 21:11:49 UTC
Permalink
One of the things I did was to compare the Apple II ROM AppleWin uses
with the one that the MESS uses. I did a binary copy of the a2p.d0 +
a2p.d8 + a2p.e0 + a2p.e8 + a2p.f0 +a2p.f8 and did a CRC comparison to
the stripped down version of the AppleWin Apple II ROM (which is
padded.) The CRCs are identical for each 12kbyte file. I would
therefore conclude that if MESS really did emulate the Mockingboard,
including its IRQs, it would crash to the monitor as well. The only
conclusion that makes any sense is that there must be another (newer?)
revision of the Apple II+ ROMs that allow an IRQ to vector to somewhere
other than the Monitor. Perhaps the '81 Apple II+s (Rev . 7 PCBs) have
the ROM.

Apple II ROMs (Integer BASIC, Old Monitor, Sweet 16, mini-Assembler)
should be 8KB in size.
Lyrical Nanoha
2005-12-28 23:04:53 UTC
Permalink
Post by Great Hierophant
One of the things I did was to compare the Apple II ROM AppleWin uses
with the one that the MESS uses. I did a binary copy of the a2p.d0 +
a2p.d8 + a2p.e0 + a2p.e8 + a2p.f0 +a2p.f8 and did a CRC comparison to
the stripped down version of the AppleWin Apple II ROM (which is
padded.) The CRCs are identical for each 12kbyte file. I would
therefore conclude that if MESS really did emulate the Mockingboard,
including its IRQs, it would crash to the monitor as well. The only
conclusion that makes any sense is that there must be another (newer?)
revision of the Apple II+ ROMs that allow an IRQ to vector to somewhere
other than the Monitor. Perhaps the '81 Apple II+s (Rev . 7 PCBs) have
the ROM.
http://www.dosius.net:8080/a2pf8.bin

Compiled this one from reconstructed source.

-uso.
Great Hierophant
2005-12-29 01:26:39 UTC
Permalink
I have done it! I have gotten Ultima III to work in AppleWin 1.12.6.0
in the Apple II+ mode. What I did was to replace the $D000-$FFFF
portion of the APPLE2.ROM with one gleaned from the FPBASIC on a DOS
3.3 disk.
Post by Lyrical Nanoha
http://www.dosius.net:8080/a2pf8.bin
Compiled this one from reconstructed source.
Is that the only difference between the two ROMs, the last 2KB? That
binary is a CRC match to my last 2KB of my APPLE2.ROM.

Also, I noticed that some DOS 3.3 images (1980) have FPBASIC and
INTBASIC at 50 sectors, their proper size, and others (1983) have them
at 42 sectors, which eliminates the last 2KB of each file.

Now, suppose that you have an Apple II+ with the older ROM. What do
you do if you want to run Ultima III with a Mockingboard short of
burning new EPROMS with the updated code?
sicklittlemonkey
2005-12-29 02:44:29 UTC
Permalink
You must have made a mistake during your comparison.

The IRQ vector differs between AppleWin's and MESS's ROM, as Tom said.
MESS has $FA86, which is correct for an old monitor ROM
(non-autostart). AppleWin's has been hacked to $FF65. (This wrecks IRQ
and BRK.)

An autostart ROM would have an IRQ vector of $FA40.

Cheers,
Nick.
Great Hierophant
2005-12-29 03:32:51 UTC
Permalink
This post might be inappropriate. Click to display it.
sicklittlemonkey
2005-12-29 04:47:24 UTC
Permalink
Post by Great Hierophant
But MESS's Apple II+ f8 ROM is identical to the last 2KB of
AppleWin's APPLE2.ROM.
You're right. My mistake.
Post by Great Hierophant
I would hypothesize that it is a hacked ROM designed for cracking games
Yes, in fact I used NMI to do this. ;-)
Post by Great Hierophant
What else is wrong with these ROMs I cannot say, but they should be
replaced immediately.
Indeed.

Cheers,
Nick.
sicklittlemonkey
2005-12-29 03:41:12 UTC
Permalink
Oops, my mistake. I was looking at the MESS a2 ROM (old monitor). The
MESS a2p ROM (autostart) has the same patch as AppleWin (to $FF59, not
$FF65 as I stated). This is definitely both bad and weird. How did both
apps end up with the same bad ROM.

MESS ROMs are supposed to be obtained only from dumping a known good
original ROM. I will log this as a bug in MESS.

Cheers,
Nick.
Lyrical Nanoha
2005-12-29 05:34:08 UTC
Permalink
Post by sicklittlemonkey
Oops, my mistake. I was looking at the MESS a2 ROM (old monitor). The
MESS a2p ROM (autostart) has the same patch as AppleWin (to $FF59, not
$FF65 as I stated). This is definitely both bad and weird. How did both
apps end up with the same bad ROM.
MESS ROMs are supposed to be obtained only from dumping a known good
original ROM. I will log this as a bug in MESS.
I can confirm the source for mine... It's FPBASIC off the 1980 system
master.

-uso.
sicklittlemonkey
2005-12-29 11:58:51 UTC
Permalink
Thanks for that. I verified that only the IRQ vector was different, and
logged a bug for MESS. I wonder where these ROM images came from.

Cheers,
Nick.
Justin Kerk
2005-12-30 06:20:20 UTC
Permalink
Post by sicklittlemonkey
This is definitely both bad and weird. How did both
apps end up with the same bad ROM.
MESS ROMs are supposed to be obtained only from dumping a known good
original ROM. I will log this as a bug in MESS.
Well, they're supposed to be, but a lot of the ROMs in MESS (especially
the ones that have been in there for years like the Apple II variants)
are just the usual versions floating around the Internet for other
emulators, perhaps divided up differently. In this case MESS most likely
just took the ROMs from AppleWin.

For a lot of computer systems, even common ones like the Apple II, real
proper dumps from original chips just plain don't exist online, and
MESSDEV doesn't have the same kind of "dumping project" infrastructure
that MAMEDEV does to get ahold of physical hardware for dumping. For
example, much of what's in MESS has been read from running machines using
BASIC rather than using an EPROM reader because most people don't have
that kind of equipment. Depending on the system, the two processes may
not result in identical dumps.

Since this is probably as good a place to ask as any, if any folks here
can make or have access to proper dumps that are more correct than what's
in MESS, the MESS maintainer Nathan Woods would be very interested to
hear about it (his contact information is at
http://www.mess.org/contacts.html, or you can file a bug at
http://bugzilla.mess.org/). Alternate revisions MESS doesn't currently
support are always welcome too. The issue raised in this particular
thread has already been addressed thanks to slicklittlemonkey, but I'm
sure there are other problems out there.

-Justin
--
__ ____ ___ __ __
| | | \| | | Cast in the name of God...ye not guilty!
| | __| | | _| ICQ: 76824935
__| |__ | | | /_ ***@MailandNews.com is spambait
| | | | | | | dopefish justin at gmail dot com
|______________/___|__| http://interbutt.com/
Linards Ticmanis
2005-12-29 08:45:22 UTC
Permalink
Post by Linards Ticmanis
It's likely
that it doesn't work on an "Old Monitor" II though, because its IRQ
vector is fairly useless (and at least on an 48K machine, unchangable).
This statement was wrong. I got confused by the bad ROMs floating around.
--
Linards Ticmanis
TomCh
2005-12-28 14:22:50 UTC
Permalink
MESS (0.102b) does't emulate Mockingboard.

Ultima III (MB version) doesn't check for the presence of a MB, which
is why it asks for slot & type. MESS doesn't crash to the monitor, as
it (correctly) emulates an Apple][ w/out MB :-)
Great Hierophant
2005-12-29 03:44:38 UTC
Permalink
I have confirmed that Ultima III will work in an Apple II or II+. The
code for the IRQ handler in each Monitor may be in different places but
essentially do the same thing.

Only three questions remain:

Will Ultima III work on an Apple IIgs without a patch?

How can Ultima V be made to work on an Apple II or II+ expanded to
128KB of RAM?

Can any Ultima work with a Mockingboard D (which connects to the Apple
IIc's serial port) without a patch?
Linards Ticmanis
2005-12-29 08:47:13 UTC
Permalink
Post by Great Hierophant
How can Ultima V be made to work on an Apple II or II+ expanded to
128KB of RAM?
It will run just fine even on a 64K machine, but there'll be no music.
Or do you mean "made to work with music"?
--
Linards Ticmanis
Great Hierophant
2005-12-29 14:13:17 UTC
Permalink
Post by Linards Ticmanis
It will run just fine even on a 64K machine, but there'll be no music.
Or do you mean "made to work with music"?
Yes, how can it be made to work with music? It would probably take a
patch to utilize an extra 64KB of RAM. The complexity of the patch is
at issue. If there was a RAM adapter for the Apple II+ that mapped the
RAM as it is mapped in an Apple IIe, then the patch may be as simple as
eliminating the Apple II/II+ detection. Otherwise, you would have to
make the program detect a RAM adapter and adjust its memory handling
capabilities to suit each adapter. I highly doubt there was a standard
for the Apple II/II+.
Great Hierophant
2005-12-29 16:43:17 UTC
Permalink
I wonder if Ultima V would work in an Apple II/II+ with an Apple II
Memory Expansion Card. It is memory mapping is different from the
Apple IIe's extended RAM, but it seems more straightforward to use (the
manual on http://www.turbo-2.com/apple/ isn't very helpful, however.)

Also, Ultima III will work, of course, in an Apple IIgs, but will it
work with Mockingboard sound enabled?
David Wilson
2005-12-30 11:15:34 UTC
Permalink
Post by Great Hierophant
I wonder if Ultima V would work in an Apple II/II+ with an Apple II
Memory Expansion Card. It is memory mapping is different from the
Apple IIe's extended RAM, but it seems more straightforward to use (the
manual on http://www.turbo-2.com/apple/ isn't very helpful, however.)
You need the technical manual rather than the user manual. You can
either talk directly to the hardware using the 4 addresses $C0m0..C0m3
(the first 3 are a 20 bit address and the last byte is a data port -
each time you read or write the data port the address auto-increments.
Alternatively, you can use the SmartPort interface and use the READ and
WRITE commands (to either Main or Aux RAM).

Loading...