CompuServe Thread

#Enforcer Quickie

30 messages in this thread
#44043From: Jim MaddoxNov 18, 1994 2:19 AM
Does Enforcer require some sort of external terminal for viewing its output? I've tried running it from WB and Shell, but I never see any output, even when I run LawBreaker. – Jim, on AutoPilot!
#44055From: Jim Shaffer Jr.Nov 18, 1994 11:42 AM
It only requires a terminal (or a printer) if you don't give it the STDIO keyword.
#44060From: Jim MaddoxNov 18, 1994 1:08 PM
Thanks for the info. 🙂 – Jim, on AutoPilot!
#44056From: Arnie CachelinNov 18, 1994 11:48 AM
Yes. I think you can use a program called sushi to print enforcer output on your own machine. Usually, when the enforcer has output to show, the machine it is on will not have much time left for displaying messages, and you don't want it writing to the HD…
#44061From: Jim MaddoxNov 18, 1994 1:08 PM
Thanks, Arnie. Sushi, huh? I'll have to see if I can dig that up. Are there any other testing tools you'd recommend? – Jim, on AutoPilot!
#44111From: Wayne ColeNov 20, 1994 4:56 AM
Jim, In the newer enforcer, add the FILE=RAD:Enforcer_Hit tooltype (of cource RAD has to be mounted). Run eforcer from WB or form CLI with the equiv keword for the above. Then after a crash, use QBTools or the like to recover rad and then just read the Enforcer_Hit file. wmc – via Autopilot!
#44133From: Jim MaddoxNov 20, 1994 5:51 PM
Thanks for the tip, Wayne. – Jim, on AutoPilot!
#44148From: Arnie CachelinNov 21, 1994 10:33 AM
Mungwall and memoration are handy also..
#44110From: Wayne ColeNov 20, 1994 4:56 AM
Arnie, The newer enforcer can be directed to output to RAD:. Then after the crash and restart, use QBTools or similar to recover RAD and you can see most of the enforcer hits up to the point of the reboot. wmc – via Autopilot!
#44075From: Karl F. KugelNov 19, 1994 1:24 AM
You have the current version, right? That was true of earlier versions, but isn't any more. -Karl
#44106From: Jim MaddoxNov 19, 1994 11:49 PM
Thanks for the reply, Karl. I got it squared away. – Jim, on AutoPilot!
#44077From: Steve AhlstromNov 19, 1994 1:35 AM
Jim, You can send Enforcer output to serial, or parallel, or to the screen. I send its output to a shell. I simply start via shell by "Enforcer On". -sja
#44105From: Jim MaddoxNov 19, 1994 11:49 PM
Thanks, Steve. I used "Enforcer stdio" and it worked fine from the Shell. My program doesn't seem to be causing Enforcer hits, but it is making my machine crash. I'm using the various chunky-to-planar routines in the lib here, but they all do the same thing — produce a squashed, doubled picture and overwrite stuff (like Devpac) in chip RAM. Sometimes Devpac's menus don't come down; sometimes the size and screen-to-back gadgets and the dragbar quit working. Weird. – Jim, on AutoPilot!
#44121From: Steve AhlstromNov 20, 1994 2:01 PM
Sounds like you're writing over memory you don't "own" … have you also been running Mungwall in conjunction with Enforcer? What cpu do you have? -sja
#44136From: Jim MaddoxNov 20, 1994 7:01 PM
I know…the weird thing is, I just plugged in three of the chunky-to- planar routines I found in the library here. They not only don't convert the picture right, but they both overwrite other areas of memory. (Well, one of them — the blitter/CPU one — totally wipes out.) When I use the slow WritePixel method, nothing adverse occurs. "Mungwall"? <g> I think I may have downloaded that a while back on my other computer…I'll have to take a look. What's it do, anyway? I'm using an A4000/040/25 with 18MB RAM (my Toaster/AutoPilot/everything else machine). – Jim, on AutoPilot!
#44149From: Arnie CachelinNov 21, 1994 10:49 AM
Mungwall surrounds your allocations with special pad bytes it recoginzes when you stomp them, it also patterns unused memory, and notices when you stomp it, and tracks your allocations and frees to make sure the sizes are right.. it probably does a host of other cool things too. I get its output on my terminal.. because I can. Segtracker and its companion findhit are handy, segtracker knows where the addresses on the stack came from when you get an enforcer hit, and findhit tracks the info from segtracker in the hit to actual lines of code.
#44150From: Jim MaddoxNov 21, 1994 1:48 PM
Arnie – Thanks for the suggestions. I'll see if I can dig them up. BTW, how might I go about setting up a debugging terminal? (I have a faint idea, but I'm not too sure.) – Jim, on AutoPilot!
#44169From: Arnie CachelinNov 22, 1994 10:18 AM
Get another computer, or a real-cheap used terminal, like an old vt100. Connect it to your serial port with a null-modem connector. voila.
#44193From: Jim MaddoxNov 22, 1994 6:34 PM
>> Get another computer, or a real-cheap used terminal, like an old vt100. A couple more questions here: What do I have to have running on the terminal? A telecomm program? Do you know of any good remote debugging utilities for the Amiga (that are still available, of course)? – Jim, on AutoPilot!
#44288From: Arnie CachelinNov 25, 1994 4:01 PM
The terminal is like a real dumb computer that ONLY runs a telecom program.. and not one with a phonebook and all, it's just a screen and keyboard on a serial port. They used to be used for talking to mainframes. CPR that comes with SAS has some remote debugging modes which I'm not really familiar with.
#44300From: Marlene Zenker/SYSOPNov 25, 1994 7:01 PM
"They used to be used"… Hey, they still are! :*)
#44342From: Eulogio (DJ) GarciaNov 27, 1994 3:16 PM
Actually mainframe terminals used more intelligence and block tranfer modes. Real dumb terminals are used with Unix, VMS and other time-sharing OS's on anything from large clones to mainframes. DJ On AP from Queens, the thrill and excitement of the Big Apple Where a little paranoia keeps you healthy and sane …
#44112From: Wayne ColeNov 20, 1994 4:56 AM
And if you send it to a file in RAD and recover RAD after the crash you get time to actually study the enforer I/O :^} wmc – via Autopilot!
#44122From: Steve AhlstromNov 20, 1994 2:01 PM
If you do it "properly" you run the program under CPR control and when you have an Enforcer hit the line of source that caused it will immediately be brought up. -sja
#44153From: ShraddhanNov 21, 1994 7:14 PM
Jim, I invariably send the output from Enforcer to a recoverable RAM disk – I think it's called STAT-RAM or SD0 Then, even when the machine has crashed, the file is still there after a warm boot – i.e provided you didn't turn the power off! Regards, Shraddhan (via AP from Hertfordshire, England)
#44159From: Jim MaddoxNov 22, 1994 12:55 AM
Shraddhan – Thanks for the info. I don't believe I've ever heard of SD0. Is it some sort of public domain device driver or something? – Jim, on AutoPilot!
#44204From: ShraddhanNov 23, 1994 10:57 AM
Jim, An extract from the README file for STATRAM 2.2: ———————————————————————— STAT-RAM 2.2 ———————————————————————— A joint effort by Richard Waspe INTERNET : waspy@cix.compulink.co.uk USENET : rwaspe@hamlet.adsp.sub.org FIDONET : 2:255/72.2 Nicola Salmoria INTERNET : MC6489@mclink.it StatRam is a very fast, very recoverable ram drive. It works on any Amiga using V2.04 or greater of the OS. It maintains the remarkable recoverability of the original VD0:, but has now been totally re-written to handle any DOS filesystem, be named what you like, and give back memory from deleted files instantly. Regards, Shraddhan (via AP from Hertfordshire, England)
#44212From: Jim MaddoxNov 23, 1994 1:42 PM
Thanks for the E-mail, Shraddhan. I'll try it out. You wouldn't happen to know any reasons why my crashing program doesn't crash under Enforcer, Mungwall, and Sushi, would you? – Jim, on AutoPilot!
#44292From: ShraddhanNov 25, 1994 6:14 PM
> You wouldn't happen to know any reasons why my crashing program > doesn't crash under Enforcer, Mungwall, and Sushi, would you? As I have never seen your program, and don't know what kind of crash you get, this is a toughie. Some of my crashes occur when the processor decides to execute data instead of instructions – an easy thing to do in assembler! In C, where the above scenario should be rare: (1) Stack overflow (2) Incorrect pointers (as distinct from being null) (3) Arrays going out of bounds (4) Programmer error (5) Some other reason I can't think of at this time in the morning If it's not a very long program, I'd be happy to have a poke at it. Regards, Shraddhan (via AP from Hertfordshire, England)
#44315From: Jim MaddoxNov 26, 1994 12:39 PM
>> If it's not a very long program, I'd be happy to have a poke at it. Thanks for the offer, Shraddhan, but I figured it out. I was calling FreeMem (to free the memory I allocated for the bitmap) before closing the screen. But I may keep that offer in mind for the future. <bg> – Jim, on AutoPilot!