[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Apple emulators that support "floating bus" video sensing?



Dirk Thierbach wrote:
Michael J. Mahon <mjmahon@aol.com> wrote:

If we assume that the emulator is supposed to emulate an Apple II
with an accelerated *processor*,


But to get "correct" behaviour for most programs, one shouldn't assume
that. If a program uses the "vapourlock" to adjust its own timing so
it can do tear-free updates of the framebuffer, or switch pages once
during a frame, that one should emulate exactly this behaviour.  Which
means that the value read from the floating bus depends on the cycle
count, not on real time, and that the way the emulator updates it's
own video from the frame buffer should also depend on the cycle count
(which isn't too hard to do if the emulator use some double-buffering
scheme, though it would involve a substantial change to probably every
emulator).

Perhaps, but I think that any program spending its time maintaining
a "split" would not be doing anything that required acceleration
in any case.  And if it were doing something useful besides splitting
the screen, it would likely be animation, which should be run at 1MHz
to obtain the original intent.

As it is, it emulates an Apple II with both the processor and the
video refresh accelerated--and there is no such beast!


Look at it differently -- it just emulates an Apple II with both
processor and video refresh at the same (normal) speed. It's just that
the outside world (the humans who interact with it) happen to be a bit
slower :-) After all, time is relative...

But the purpose of the video display *is* the humans!

Sure, I can tell everyone to just emulate at 1MHz--they'll see the
animation I intended and they'll wait a long time for the computer
to compute the next game move.

It would be a lot nicer to run the computation at full-bore, but
have a simple way to slow down the screen updates and waits so that
what is intended for a human to watch would run at constant speed.

As I've said, I found a way to do this for all real Apple II's,
with or without acceleration, but emulation seems not to be equivalent.

-michael

NadaPong: Network game demo for Apple II computers!
Home page:  http://members.aol.com/MJMahon/

"The wastebasket is our most important design
tool--and it's seriously underused."