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

Re: ROM 3 vs ROM 03?



In article <1JUN199414554258@vax2.concordia.ca>,
Mitchell Spector <spector@vax2.concordia.ca> wrote:
> 
> 	I recently checked and I have 341-0748/0737 -- the very same ROMs
> installed in your ROM 3 system. This is getting strange though, since your
> ROMs don't have the two CDAs locked in. Mine has had these CDAs locked in
> the menu from the minute I unpacked the machine. 

[snip]

> The only thing that did work was an INIT called "BadROM3". However,
> it's only temporary! As soon as I do a CTRL-OA-RESET (leaving GS/OS) the
> CDAs immediately pop back into the menu.

Here's a question for you: if you go into ProDOS-8 and hit Ctrl-Reset
(not Ctrl-Apple-Reset), do the programmer's CDAs come back?

> If you or anyone else can think of a way to get rid of these CDAs
> once and for all, please tell me how! :-)  

Sounds like a job for a quick disassembly of the ROM...

The only thing I can think of is that there must be something external
to the ROM which decides whether these CDAs are enabled, e.g. an I/O
bit somewhere.

Either that, or our ROMs aren't the same, despite having the same part
number.

I'll have a think about it.

> 	Now that I've looked at this again, I think it's okay. I get the
> following response when typing "s" <return>.
> 
> '00/0181: 00 01    BRK01' (inversed text, appears frozen until key-press)

I don't know why it would be in inverse, unless you had previously
used the "i" command.

> 	Ahh! After all these years, you've finally helped me better
> understand the ROM 3 Monitor! :) I don't own any reference material on
> the ROM 3, and nothing like this existed within any of my 8-bit IIs or
> ROM 01 IIgs -- Not being completely famillar with Monitor I wasn't sure
> if this was normal behavior or not. Thanks for solving that little puzzle
> for me... ;-) 

The STEP and TRACE commands exists on the IIc, with the UniDisk 3.5
ROM or later.  They work somewhat differently, using the Open Apple
and Closed Apple keys to control their operation.  I don't have the
manual handy, but they are documented.

The original Monitor ROM (on the Apple ][) had very simple step and
trace commands.  Step executed one instruction and returned to the
monitor prompt.  Trace executed continuously until it hit a BRK or you
pressed Ctrl-Reset.

The ROM 1 IIgs didn't have enough space to implement them, so it only
has hooks which print "Step" and "Trace".

> "list" is an illegal command, but I'm still not certain why "t"
> (Trace) should cause that loop after return is pressed... 	 

"list" isn't an illegal command.  It is four legal commands (list,
inverse, step, trace).  The monitor uses single letter commands to
activate all of its functions.

I don't know why Trace is beeping at you - it should be silent.

> >> - Cannot format RAMDisk to 'largest selectable' size.
> 
> BTW, is this *normal*? I'm curious if other ROM 3 users have to go
> one setting lower than their largest-size.

I'm sure that it is normal - it will just be a bug in the ROM, which
only affects ROM 3.  I doubt that many people have encountered it,
because it isn't normal to use all your available memory as a RAM disk.

There is another well-known bug in the ROM 3 regarding the RAM disk:
if you have 8 megabytes of RAM installed, you cannot set up a RAM disk
at all.  System 6.0.1's RAM5 driver checks for this at boot time and
gets around the problem (after which the RAM disk can be used as
normal).

> 	Actually, it happened to me again last night. I was using 
> AppleWorks GS 1.1 (with System 6.0.1 and Pointless) and like it always
> does, AWGS locked up when it ran short of memory (my fault, rendored too
> many TT fonts styles and sizes in my letter). When I went to press
> CTRL-OA-RESET to reboot, my ROM 3 auto-formatted my /RAM5, even though
> the setting in the control panel was untouched! I notice this seems to
> happen alot when I have crashes or memory-trashed.

The "Resize after Reset" option is a one-off setting: it is cleared on
the next reset, and it is NOT stored in the battery RAM.  I don't know
where it is stored, but it could just be a high memory variable, in
which case memory corruption may have overwritten it.

I'm not sure how "low level" this flag goes - if you enable Resize
After Reset, does the Memory Manager get fully reinitialized
(discarding permanently allocated blocks), or is only the RAM disk
affected?

In the ROM 1, there is a byte in the RAM of the ADB Microcontroller
which is used to detect a power-up reset.  Some utility programs which
force a cold reset (to resize the RAM disk) modify this byte so that
the Memory Manager thinks the reset is a power-up; the RAM disk is
then recreated.

This byte is cleared early in the IIgs self test, so the same effect
can be achieved by starting the self test and then rebooting.

I suspect that this is also available on the ROM 3, and is independent
of the "Resize after Reset" flag.

> >If you format /RAM5 with the System 6.0.1 "RAM5" driver, it does
> >pause.  The RAM5 driver fills every block of the RAM disk with zeros.
> >If you aren't using the driver, formatting the RAM disk doesn't do
> >anything except write a fresh root directory, bitmap, etc. which isn't
> >a noticeable delay.
> 
> 	That's strange. I always resize my /RAM5 using the built-in
> text control panel, but it ALWAYS pauses while the formatting takes
> place.

There is a pause at startup, probably in the order of one or two
seconds for each megabyte of the RAM disk.  I don't know what it is
doing during this time - probably clearing the RAM disk memory.

Note that this isn't doing a proper format of the RAM disk, since boot
blocks are not written.  You have to format RAM5 using GS/OS or
ProDOS-8 to make the RAM disk bootable.

> It seems the larger the RAM disk, the longer the pause. Did
> a rough count a moment ago: 32k /RAM5 has almost no pause, 416k is
> a 2 second pause, 800k 4 seconds and 1888k is 6 seconds.

That sounds unusually long, but I haven't timed my RAM disk creation
recently...
-- 
David Empson
dempson@actrix.gen.nz
Snail mail: P.O. Box 27-103, Wellington, New Zealand