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

Re: Disk ][ Launcher (was: Late night musings...)



dempson@actrix.gen.nz (David Empson) wrote:

>Some operations would be tricky under GS/OS, due to memory restrictions.
>For example, it might not be possible to use hi-res graphics, because
>some other software may have allocated memory in the $E0/2000-$5FFF area
>(not very likely).

I hadn't thought of that.  Mind you I'm still in the design phase.
There could definitely be a problem here because I know that the
Memory Manager sets up a bunch of stuff in back $E0 or $E1 (I'm too
tired to go check my archives) which causes problems with people
trying to reserve memory for use with the VOC.  It might not be a
problem with hi-res but more likely with double hi-res.

>It would still boil down to checking each executed instruction to work
>out what was being accessed, then executing that instruction.  It would
>probably be easiest to emulate the CPU, rather than trying to execute
>the real instruction in place.

I have been trying to come up with ways to allow execution of the 8
bit programs to be performed by the 65816 at full speed.  By caching
small sections of code and checking them for anything special and then
executing any code I'm not concerned about at full speed or by putting
COP instructions in those special locations but I can't really think
of a way to find the places to put the COPs easily.

>We are therefore talking about emulating a 65C02 in software on the
>IIgs.  This is a rather CPU intensive operation - you need a reasonably
>fast Mac or PC just to get real-time emulation of an Apple ][+, let
>alone a IIe (which has more complicated memory and I/O).  On a IIgs, you
>wouldn't get anything like reasonable execution speeds, even with a very
>fast ZIP GS accelerator.

Provided the emulator could execute at least some of the 8 bit
programs at full speed, it might execute half decently.  Besides, this
would be more for convenience than for speed.  You can still run the
programs directly, just like you were using an beefed up //e, if you
really want or need the speed.  But if you want to run those programs
and still have access to all you nifty GS/OS stuff, you can.

Maybe I should start programming this thing and when I run into
problems I'll post some questions in comp.sys.apple2.programmer.