Newsgroups: comp.sys.apple2 Path: news.weeg.uiowa.edu!news.uiowa.edu!uunet!MathWorks.Com!europa.eng.gtefsd.com!newsxfer.itd.umich.edu!gumby!wupost!waikato!comp.vuw.ac.nz!actrix.gen.nz!dempson From: dempson@actrix.gen.nz (David Empson) Subject: Re: ROM 3 vs ROM 03? Message-ID: Organization: Actrix Information Exchange References: <2sc5ra$blf@nuscc.nus.sg> <31MAY199400390403@pavo.concordia.ca> Date: Wed, 1 Jun 1994 13:24:19 GMT Lines: 114 In article <31MAY199400390403@pavo.concordia.ca>, Mitchell Spector wrote: [snip] > Here's a list of faults (I *think*) in the older ROM 3: > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > - Programmer CDAs ('Visit Monitor', 'Memory Peeker') always active, and > no way to disable them. I have the 1989 ROMs with the numbers listed as being the "older" ones in an earlier post, and I don't have this problem. > - Built-in Monitor does bizzar things when certain illegal commands are > given. For example, typing "s" and locks up IIgs, then pressing > certain keys lets you cycle through IIe and IIgs graphic pages still > in memory (I've been told GSBug does this, but I can do this from a > cold-boot with nothing in memory). Um, I can do that on my ROM 3. The 's' command invokes the Step function, which prints 'Step' and disassembles one instruction. You can then press certain keys to toggle display modes, SPACE to execute the instruction and display the next one, or RETURN to execute continuously. Pressing ESCAPE cancels the step operation. If you mean it doesn't print anything before waiting for a keypress, then that definitely is a problem. The Step and Trace functions are implemented in ROM 3's monitor. The ROM 0 and ROM 1 monitor only prints the word 'Step' or 'Trace' when you invoke either function, and doesn't do anything more. There are vectors which could be used to implement these features, but I don't think any program uses them. I'm not aware of GSBug having anything to do with this feature - it has its own step and trace commands, which work almost exactly the same as the ROM 3's monitor. The monitor's step and trace commands work exactly the same way, whether or not GSBug is running. These functions are documented in the "Apple IIgs Firmware Reference, 1 MB Apple IIgs Update", which is available from Resource Central. Here is a full list of the keys you can use in step and trace modes: Return Enter trace mode (continuous) Space Step one instruction (leave trace mode) Esc Return to the monitor command line T Text mode L Lo-res graphics mode M Mixed graphics/text mode H Hi-res graphics mode D Double hi-res graphics mode S Super hi-res graphics mode Note: use L, M, H, D only when in text mode. J Start executing code normally, using the most recently selected display mode O Toggle register display on and off following execution of each instruction R Execute continuously until next RTS, RTI or RTL X Execute a JSR or JSL in real time - back to step mode when the subroutine returns down arrow Skip the next instruction left arrow Slow trace speed right arrow Fast trace speed For the most part, these keys are the same as GSBug. There are several limitations of the monitor's step/trace commands - see the manual for details. GSBug is able to deal with most of these. > Typing "l" (or "list") and causes an inverse display of > non-stop scrolling garabage with error-bell ringing -- until > CTRL-RESET is pressed. Well, 'list' would certainly do something odd - it would disassemble one screen, turn on inverse mode, step one instruction, then if you pressed ESCAPE it would start tracing until you pressed escape again. The output from the step and trace commands would be in inverse. 'l' seems to be fine on my machine. > - Cannot format RAMDisk to 'largest selectable' size. My ROM 3 has that problem. No RAM disk is created if you select the largest available size (in my case, 4992k). It is fine if you go one step less than this. > Also, at random, doing a certain number of OA-CTRL-RESETs formats > over /RAM5 (probably toggles 'Resize after reset' by itself when > normal memory is trashed). Never come across this one. If you hit Ctrl-Apple-Reset while the IIgs was still handling the last reset, it might cause memory corruption. > When /RAM5 gets formatted the GS pauses for a few seconds, though this > might be normal. (Note: I have a fully-populated Apple 1mb card) 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. -- David Empson dempson@actrix.gen.nz Snail mail: P.O. Box 27-103, Wellington, New Zealand