Pinacolada64 / ImageBBS

A bulletin board system (BBS) for the Commodore 64.
15 stars 5 forks source link

Possible Issue - Load Error #39

Closed ThaDoctor72 closed 6 years ago

ThaDoctor72 commented 6 years ago

Not sure if it's just me, but here's how to recreate:

R from main prompt, type in a file that is not there, or select a drive that does not exist. Results in break: load error in 2006

That said, something got really screwy with my etc files somehow. It got to where I could not load menus anymore, and then various modules started misbehaving. I noticed my e.Sig and e.Sub files were 121 blocks each, and going into SB would eventually result in bad subscript and other things.

I restored the etc drive from a week old backup, and now I can see menus again, and the subs work as expected (after I used the updated consig files Larry sent). Just a heads up, and I don't know the root cause yet. I'm going to recreate what I did this week to make it happen again.

x-tec2017 commented 6 years ago

I know what happens when you try to "R"un a file that isn't there. Image 2.0 will reload the entire 86 block "im" file from the +.file drive. (Image drive 5) I found this out long ago when I first started and had my "im" file on both the boot drive and the +.file drive which were on different partitions. I found that if I had made a change in my boot "im" file, and tried to run a program that wasn't there, I ended up with the "im" file without the change loaded into memory. That's the reason that when I wrote the instructions for installing Revision 2, I said to make the boot drive the same drive as the +.file drive. You probably have yours set up that way so the question is, why did your etc files get screwed up?

During a normal boot up from the Commodore basic screen, Image executes lines in "im" starting at line 3000 which do the same thing as "setup" does in Image 1.2. They define all the permanent variables and arrays, set the drive assignments, and so on until it gets to the line that loads +.lo where all the 3000 series line get replaced by +.lo and +/modem gets loaded in as the 4000 series lines. Certain 60000 series lines from various im.files also get executed during the boot up process as well for drawing the screen, setting the parameters etc.

Perhaps what happened when you tried to run a non-existent program, after Image 2.0 loaded the "im" file into memory, it went to line 3000 and tried to reboot. I think that should be prevented from happening by line 0 in the "im" file but if not, maybe it's the reason for what happened in your case. Line 0 should send the program to line 4000 (in "im" ) to execute the error trap.

I haven't tried running a program that doesn't exist since updating to revision 2. I guess I'll have to try it to see what happens.

ThaDoctor72 commented 6 years ago

In the event I want to change the configuration (now that it's locked away in e.data) what's the supported method for this? Let's assume the physical paths have changed while image was shutdown.

x-tec2017 commented 6 years ago

Right now there is no method for editing e.data offline. I suppose what needs to be done is modify the Image 1.2 "edata edit" program to work with Image 2.0.

Pinacolada64 commented 6 years ago

I have done that. I might include a facility that I've been working on debugging which presents the string and allows you to edit it. It's kind of a combination between the Image line editor and the BASIC editor. The only drawbacks are that the cursor doesn't blink on reversed characters (I'm not sure that's needed in this application), and it doesn't highlight spaces. I have a demo program I could show you guys of the input routine.

On Thu, Oct 4, 2018 at 12:07 AM x-tec2017 notifications@github.com wrote:

Right now there is no method for editing e.data offline. I suppose what needs to be done is modify the Image 1.2 "edata edit" program to work with Image 2.0.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/Pinacolada64/ImageBBS/issues/39#issuecomment-426908570, or mute the thread https://github.com/notifications/unsubscribe-auth/AHKHxElZgLGqlqV0cITM4uSIxpZ2duBBks5uhbObgaJpZM4XAlCD .

--

x-tec2017 commented 6 years ago

There are three lines in the 1.2 version of "edata edit" where if the number 32 is changed to 58 the program will display all 58 records of the 2.0 e.data file and allow you to edit them. The problem is, records 52 thru 57 contain two fields and the modified edata edit program only shows field 1 for the device number and not field 2 for the drive number of the Image drive assignments. I started working on the edata edit program yesterday to modify it further for recognizing field separators and being able to display and edit them using the routines from the Image 2.0 "+.reader" (version 2.4) file as an example of how to do it.

ThaDoctor72 commented 6 years ago

We can close this issue. I didn't have all the necessary files on the boot drive. My original configuration was 8:1 for system and 8:6 for plus, but my new config is 8:0 for plus and boot and 8:1 for system. Errors are processed through the Image error generator as expected.