From: gadams@eng.umd.edu (Geoff Adams)
Newsgroups: alt.emulators.ibmpc.apple2,comp.sys.apple2
Subject: Re: Does apple ][ GS software work using the apple ][ emulator
Keywords: words which summarize content
Date: 11 Dec 92 21:11:36 GMT
Organization: College of Engineering, Maryversity von Uniland, College Park
Originator: gadams@frob.eng.umd.edu


ramsey@spot.Colorado.EDU (Mad Poo Bandit) wrote:

|>Not even close.  The SB and SB Pro have extremely shitty sound output compared
|>to the IIgs.  You'd need a Gravis UltraSound (with a real Ensoniq DOC) to get
|>something similar to the IIgs.
|>
|
|Whatever.

That means nothing to you?

|     You must think that the GS runs on nuclear power or something.  Give me
|one example of some *function* (not specifics) of something a GS can do
|that a MS-Dos machine can not.  If a PC can do ALL the same things (albeit
|with a soundblaster or other sound card attached) as a GS, it CAN be emulated,
|no if's and's or but's.  Emulation goes beyond merely duplicating the hardware
|of a machine.  You'd have to emulate every last logic gate to do that.  Forget
|it.  A central processing unit is, strangely, programmable, and can do many
|wondrous things with software only.
|
|You're probably saying, "Hey, what about input/output?".  Well, a GS has,
|lemme guess, a keyboard, mouse, drives, serial/parallel ports, sound, monitor,
|and joysticks, blah blah blah.  An IBM, clone or not, is just bound to have
|the same things.  Leave it to the software to interpret the GS's instructions
|Bios calls, and whatever nifty things you can think of, and just, well,
|emulates them.  Though Apple has a strange penchant for copyrighting their
|ROMs (which the Apple II emulator needs to work), a good working version
|can be made which does not violate them (or you can always pirate a copy, hey
|it's software like anything else...).  You could even re-write the ROMs to
|make full use of the system running the emulator.  Wow...
|
|Think about it, won't you?

I think you're missing the point.  I think you're making the IIgs sound much easier
to emulate than it is.  Sure similar capabilities may exist in MS-DOS machines, but
how on earth would you make it work in a way that would be compatible with existing
applications?!

I've programmed the IIgs at the very low levels, and I think it's more complicated than
you think.  Making the various registers in each of the chips on the IIgs motherboard
would be possible, given enough research time and programming effort, but making all
the interrupts and the various timings work would be impressive.  For instance, when
accessing certain areas of memory, the processor speed steps down to match the speed
of the older Apple IIs.  And as phred mentioned, you can program interrupts to happen
at interesting times, such as at the end of each scanline, or other things.

The point here is that the emulation becomes nontrivial, and could no longer be done
as a simple mapping of features or translating of BIOS calls.  Few of the really
interesting things done on the IIgs (and other similar computers) are done via the
Toolbox calls.  You'd have to drop one level lower in your emulation, and you'd end
up spending significant amounts of CPU time doing it.  Perhaps you'd even see the
emulated electron beam sweep across the emulated screen.  :-)

--Geoff
Newsgroups: alt.emulators.ibmpc.apple2