TIP: Click on subject to list as thread! ANSI
echo: apple
to: comp.sys.apple2
from: dempson
date: 2009-02-27 12:59:10
subject: Re: IIgs peculiarities

vladitx  wrote:

> On Feb 25, 1:30 am, demp...{at}actrix.gen.nz (David Empson) wrote:
> 
> > It appears that the monitor always forces fast mode while it is active
> > ($C036 contains $80), no matter what the Control Panel says.
> 
> I think I remember 'L'isting in Monitor at (visually) slow and fast
> speed after changes through Control Panel. Could it be that only key
> waiting is switching to fast mode?

I'd have to do more tests and don't have time in the next few days.

> > The monitor saves the speed register on entry (e.g. CALL -151 or when a
> > program executed with G returns) and restores it on exit (e.g. when you
> > use a G command or Ctrl-C).
> >
> > It also saves the speed register and temporarily forces fast mode while
> > waiting for input, so if you use the Control Panel to change the speed
> > while at a prompt in BASIC, it doesn't stick immediately.
> 
> Any faintest idea why speeding while waiting for keypress? It's beyond
> me, totally.

The only reasons I can think of would relate to the speed of the
blinking cursor and the responsiveness to editing keypresses, e.g. with
fast keyboard auto-repeat settings. They probably wanted to be in a
fixed mode so the timing would be consistent, and it makes more sense to
force fast mode so that everything will go a little quicker.

> > Mega II isn't involved in DMA to fast banks (it has no knowledge of
> > memory outside its own two banks).
> 
> Mega II is connected to the expansion slots. Even if DMA is done to
> fast banks, it's still at 1 MHz.
> There should be handshake between Mega II and FPI, but I need some
> time to investigate.
> 
> > The FPI is in charge of all memory accesses (both CPU and DMA), and only
> > hands them over to the Mega II when addressing banks $E0 and $E1
> > (possibly via shadowing). If the IIgs is runing in fast mode, it
> > requires a sychronization between the 2.8 MHz cycle an the 1 MHz cycle.
> >
> > For a DMA cycle to fast memory, the FPI gets the bank from its DMA bank
> > register, and handles the entire thing without touching the Mega II.
> 
> Umm, I think the Mega II signals to FPI (and then reaches CPU possibly
> by means of RDY) that there is a DMA and FPI allows or disallows
> depending on the bank register.
> But I'm shooting in the dark.

I'd need to dig out my IIgs hardware reference and have a closer look at
the schematics.

Certainly for a normal CPU access, the FPI is in charge.

DMA is more complicated due to being initiated by an I/O card in a
certain phase of the 1 MHz cycle, while the FPI and CPU might be off
doing something else out of sync at 2.8 MHz.

It may be necessary to abort a fast CPU cycle in order to get out of the
way of the DMA access.

-- 
David Empson
dempson{at}actrix.gen.nz
--- SBBSecho 2.12-Win32
* Origin: Derby City Gateway (1:2320/0)
SEEN-BY: 10/1 3 34/999 120/228 123/500 128/2 140/1 222/2 226/0 236/150 249/303
SEEN-BY: 250/306 261/20 38 100 1404 1406 1410 1418 266/1413 280/1027 320/119
SEEN-BY: 393/11 396/45 633/260 267 712/848 800/432 801/161 189 2222/700
SEEN-BY: 2320/100 105 200 2905/0
@PATH: 2320/0 100 261/38 633/260 267

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.