Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.1 6/24/83; site ncsu.UUCP
Path: utzoo!watmath!clyde!burl!ulysses!mhuxr!mhuxt!houxm!whuxl!whuxlm!akgua!mcnc!ncsu!kwf
From: kwf@ncsu.UUCP
Newsgroups: net.micro.cbm
Subject: machine load problem
Message-ID: <2986@ncsu.UUCP>
Date: Fri, 31-Jan-86 11:32:50 EST
Article-I.D.: ncsu.2986
Posted: Fri Jan 31 11:32:50 1986
Date-Received: Sat, 1-Feb-86 21:49:24 EST
Organization: N.C. State University, Raleigh
Lines: 72

Recently, I discovered a malfunction in my c64.  I'm stumped as to what
could be causing it, and would appreciate some help.  The story goes like this:

I turned on my c64 and typed LOAD "PRT",8,1.

Prt is a simple routine which prints the current screen contents to the
printer.

The program loaded correctly at $c000.  However, the c64 also sets the
end of basic pointers (start of variable space) to the last address loaded,
namely, $c0d4.

I then typed "10 REM" and hit return, the system prints an OUT OF MEMORY
error, because the basic pointers are corrupt.

Basic programs still load and run perfectly on the computer.
In fact, I've found no other problems other than the one above.

I conducted the following steps to try to discover the problem:

1) First, I tried loading a another ml program, thinking that "PRT" might
be totally screwed.  Every ml program I tried gave the save results.
I also turned the c64 off and on to clear memory each time.

2) Then I connected my c64 to a friend's 1571, but the problem remained.

I tried to think of why one and only one command would stop working on a
computer system.

If it were a hardware problem, other commands would mostly likely fail
also.

3) Maybe a RAM location used by the load routine is burned-out!  I wrote a
ml program to test the ram from $0002 to $0800 by writing first $00, then
$FF, checking to be sure that the location wrote correctly.  All the ram
checked-out ok.

I have not checked the ram from $0800 to $ffff.  I'll try that tonight.

*** Does the kernal or basic use any memory in this space? ***

4) By this point, I was at a loss.  My next thought was that possibly a
ROM location in the kernal or basic load routines had been damaged by a
static discharge or something (although losing only one or a few locations is
very unlikely).  However, I dumped the entire ROM contents to disk and 
compared them to the contents of my neighbors c64.  They matched perfectly!

**********************************************************

Summary of the problem:

1 - ML loads reset the basic pointers as if they were basic loads.
2 - Basic loads work normally.
3 - Basic and ML programs run normally.
4 - The disk drive is not the problem.

**********************************************************

For some the reason, the c64 doesn't seem to fully realize that the load
is a ml load, although it does load the program where it belongs.

I need help!!!!  If anyone can think of a reason why this would happen,
or know of a hardware problem that could cause it, PLEASE let me know by mail
of the net.



-- 
----------------------------------------

                    Kenneth Fernald
                    ...decvax!mcnc!ncsu!kwf