[comp.sys.apple2] Softswitches and Rom Routines

stc7@cunixb.cc.columbia.edu (Steven T Chiang) (02/08/91)

	I have a couple of questions.  Does anyone know what the
softswitch $c0e2 does, or what information it contains?  I couldn't
find any info about it in the firmware ref, or hardware ref.

	Or, does anyone have any info about rom routine $f8fa?  When I
call it, it will poll the 3.5" drive, if there is a disk inside of it.

Thanks



 _______________________________________________ _______________
| Steve Chiang	    Apple //gs forever          | Coming Soon:  | 
|-----------------------------------------------|---------------|
| Internet       :  stc7@cunixb.cc.columbia.edu |  DreamGrafix  |
| America_Online :  DWS Steve			|   3200 power  |
|_______________________________________________|_______________|

jpenne@ee.ualberta.ca (Jerry Penner) (02/08/91)

In article <1991Feb7.165018.768@cunixf.cc.columbia.edu> stc7@cunixb.cc.columbia.edu (Steven T Chiang) writes:
>
>	I have a couple of questions.  Does anyone know what the
>softswitch $c0e2 does, or what information it contains?  I couldn't
>find any info about it in the firmware ref, or hardware ref.

It is for the stepper motor for 5.25" drives.  $C0E2 turns off stepper motor
one.

>	Or, does anyone have any info about rom routine $f8fa?  When I
>call it, it will poll the 3.5" drive, if there is a disk inside of it.

If the manuals don't say anything, it's not a documented entry
point and won't be supported in other ROM versions.  So don't call
it from any commercial software you write, but if you want to explore
that's a great idea (if you have the time).  Alas, I have no time to
hack anymore.

>| Steve Chiang	    Apple //gs forever          | Coming Soon:  | 


-- 
-------------
    Jerry Penner	alberta!bode!jpenne	Edmonton, Alberta, Canada
				"You can't eat * a laser!"

stc7@cunixb.cc.columbia.edu (Steven T Chiang) (02/08/91)

In article <1991Feb7.193337.21459@ee.ualberta.ca> jpenne@ee.ualberta.ca (Jerry Penner) writes:
>
>>	Or, does anyone have any info about rom routine $f8fa?  When I
>>call it, it will poll the 3.5" drive, if there is a disk inside of it.
>
>If the manuals don't say anything, it's not a documented entry
>point and won't be supported in other ROM versions.  So don't call
>it from any commercial software you write, but if you want to explore
>that's a great idea (if you have the time).  Alas, I have no time to
>hack anymore.

	Actually, this routine is called by a piece of code that I
have.  What the code does is allows you to run p8 files from the
finder (some files don't work properly from the finder).  Basically
what the code does is it relocates itself, loads in the other start
file, calls $f8fa, and then jumps the the beginning of the routine it
loaded in.

	I guess this would answer my question....  Does anyone know
why certain p8 files don't run from the finder?  I believe games like
Task Force and Battle Chess don't work properly.

Thanks...

 _______________________________________________ _______________
| Steve Chiang      Apple //gs Forever!         | Coming Soon:  | 
|-----------------------------------------------|---------------|
| Columbia University in the Harlem area  :P    |  DreamGrafix: |
| Internet       :  stc7@cunixb.cc.columbia.edu |   3200 color  |
| America_Online :  DWS Steve                   |     power     |
|_______________________________________________|_______________|

gt0t+@andrew.cmu.edu (Gregory Ross Thompson) (02/09/91)

stc7@cunixb.cc.columbia.edu (Steven T Chiang) writes:
>         I have a couple of questions.  Does anyone know what the
> softswitch $c0e2 does, or what information it contains?  I couldn't
> find any info about it in the firmware ref, or hardware ref.

  According to my "Apple IIGS Technical Reference" book, C0E2 is Disk
stepper motor phase 1 low.  That's a new feature in the GS that's not
in the older //'s according to the book.  It doesn't say any more than
that about it, though.

>         Or, does anyone have any info about rom routine $f8fa?  When I
> call it, it will poll the 3.5" drive, if there is a disk inside of it.

  Unfortunately, the book doesn't mention that memory location at
all...

> Thanks

  No problem...

>  _______________________________________________ _______________
> | Steve Chiang      Apple //gs forever          | Coming Soon:  | 
> |-----------------------------------------------|---------------|
> | Internet       :  stc7@cunixb.cc.columbia.edu |  DreamGrafix  |
> | America_Online :  DWS Steve                   |   3200 power  |
> |_______________________________________________|_______________|

		-Greg T.

daveh@ccwf.cc.utexas.edu (David H. Huang) (02/09/91)

In article <cbgrB6G00awLQ1CF4S@andrew.cmu.edu> gt0t+@andrew.cmu.edu (Gregory Ross Thompson) writes:
>stc7@cunixb.cc.columbia.edu (Steven T Chiang) writes:
>>         I have a couple of questions.  Does anyone know what the
>> softswitch $c0e2 does, or what information it contains?  I couldn't
>> find any info about it in the firmware ref, or hardware ref.
>
>  According to my "Apple IIGS Technical Reference" book, C0E2 is Disk
>stepper motor phase 1 low.  That's a new feature in the GS that's not
>in the older //'s according to the book.  It doesn't say any more than
>that about it, though.

It's new in that it's built into the GS (IWM?). If you have a Disk II
controller card in slot 6 of any Apple II, C0E2 is also stepper phase 1 low
I believe C0E9 turns the disk drive on, and accessing C0E0-C0E7 will make
the head move up one track. Accessing C0E6 C0E7 C0E4 C0E5 C0E2 C0E3 C0E0 C0E1
will make the head move down one track (I could be wrong though, this is just
from memory).

Does anyone know how to do stuff like this with the Apple 3.5 drive (I'm
pretty sure it's possible, since the Apple 3.5 is a dumb drive, and progs
such as ZZCopy and Photonix seem to take advantage of that.
>
>		-Greg T.


-- 
David Huang                                 |
Internet: daveh@ccwf.cc.utexas.edu          | "Slight accidents with funny rays
UUCP: ...!ut-emx!ccwf.cc.utexas.edu!daveh   |   can have serious consequences"
America Online: DrWho29                     |

sb@pnet91.cts.com (Stephen Brown) (02/09/91)

stc7@cunixb.cc.columbia.edu (Steven T Chiang) writes:
>
>	I have a couple of questions.  Does anyone know what the
>softswitch $c0e2 does, or what information it contains?  I couldn't
>find any info about it in the firmware ref, or hardware ref.

There are 16 peripheral card base addresses. In each case you add the base
address + n0 to get the  address for a slot, where n is the slot number (1 to
7). Consider the base address $C082. This address for slot 6 is $C0E2. Since
the IIGS has something already in slot 6 (the Disk Port) you can expect that
$C0E2 is taken in the IIGS. In fact, its the Stepper Motor Phase 1 low
location. That means that when its accessed, one of the four coils in the disk
drive stepper motor turns off. Not too useful unless you access it in quick
succession (carefully timed, of course) with stepper phases 0 through 3 (C0E0
to C0E7)


UUCP: lsuc!graham!pnet91!sb
INET: sb@pnet91.cts.com

jh4o+@andrew.cmu.edu (Jeffrey T. Hutzelman) (02/10/91)

The phrase "Disk Stepper Motor Phase 1 Low" refers to the method by
which Apple 5.25" disk drives have been controlled since the original
Apple ][ Disk Controller Card.  If you look in the //c Ref. Manual
(excellent, very complete reference to the machine, complete with
firmware listings.  I still ahve mine, even though I don't have the
//c anymore), you'll find it referenced there as well.  The reason it
isn't mentioned in the others is that], as you may notice, it's in a
hardware location assigned to a card.  The same technique was used to
control disk drives on the older //'s, but the hardware is on the disk
controller, not in the machine.  Thus, the reference manuals for the
machines don't mention it.
--------------------
Jeffrey Hutzelman			America Online: JeffreyH11
Internet: jh4o+@andrew.cmu.edu		BITNET: JHUTZ@DRYCAS
>> Apple // Forever!!! <<

bazyar@ernie (Jawaid Bazyar) (02/11/91)

In article <43942@ut-emx.uucp> daveh@ccwf.cc.utexas.edu (David H. Huang) writes:
>It's new in that it's built into the GS (IWM?). If you have a Disk II
>controller card in slot 6 of any Apple II, C0E2 is also stepper phase 1 low
>I believe C0E9 turns the disk drive on, and accessing C0E0-C0E7 will make
>the head move up one track. Accessing C0E6 C0E7 C0E4 C0E5 C0E2 C0E3 C0E0 C0E1
>will make the head move down one track (I could be wrong though, this is just
>from memory).

   That's probably right.. BUT, don't forget that some pretty hairy timing
must be done in between those accesses.  Hitting one of those soft-switches
turns on a magnet that starts to turn a rotor- it takes time to do this.
But if you wait too long, you get poor performance.

>Does anyone know how to do stuff like this with the Apple 3.5 drive (I'm
>pretty sure it's possible, since the Apple 3.5 is a dumb drive, and progs
>such as ZZCopy and Photonix seem to take advantage of that.

   There's actually an easier way to low-level the AppleDisk 3.5, and
that's to use the special Smartport calls detailed in the GS Firmware
Reference manual.  I would guess that those are what the FTA uses- if not,
then they did it the hard way.

--
Jawaid Bazyar               | "I'm sure K&R have never heard of Mike." 
Senior/Computer Engineering |
bazyar@cs.uiuc.edu          | "That's okay. I'm sure Mike's never heard of K&R".
   Apple II Forever!        |  (discussion about Orca/C)

alfter@nevada.edu (SCOTT ALFTER) (02/11/91)

In article <cbgrB6G00awLQ1CF4S@andrew.cmu.edu> gt0t+@andrew.cmu.edu (Gregory Ross Thompson) writes:
>  According to my "Apple IIGS Technical Reference" book, C0E2 is Disk
>stepper motor phase 1 low.  That's a new feature in the GS that's not
>in the older //'s according to the book.  It doesn't say any more than
>that about it, though.

It should be built into the IIc, and it's available in the IIe and II
Plus if you install a 5.25" floppy controller in slot 6.  (You should
always refer to $C082+$s0, where s is the slot number you want.  You
shouldn't count on 5.25" drives always being in slot 6 (though that's
where most everybody puts 'em).  In any case, the only time you need
to play with this softswitch is to (1) write a nibble editor or (2)
write a drive-head cleaning program.)

Scott Alfter-----------------------------_/_-----------------------(>o<)
SUPPORT OUR TROOPS IN THE GULF!         / v \ Apple II:
Internet: alfter@uns-helios.nevada.edu (    ( the power to be your best!
   GEnie: S.ALFTER                      \_^_/ Have you killed an Iraqi lately?