6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Sun Jun 16, 2024 8:13 am

All times are UTC




Post new topic Reply to topic  [ 83 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6
Author Message
PostPosted: Wed Dec 30, 2020 11:38 am 
Offline

Joined: Wed Feb 23, 2005 5:44 pm
Posts: 42
Location: Sweden JO65kv
A new MPU has arrived and the JSR (ABS,X) problem has departed. Everything looks fine at the scope, the JSR "lands" spot on the intended target. The instruction is re-inserted where it was ment to be when all this trouble started and everything works perfectly!

Hopefully the computer will be OK now. Even if the JSR (ABS,X) is a very expendable instruction, having the problem present gave an iffy feeling. The hardware must be absolutely trustworthy when programming and magic effects pops up. Not a shadow of a doubt that it's the software that is in error.

I'm still very curious if the old MCU really is bad. I will do one more test with it. Hardwire the $FC opcode by eight resistors on a breadboard and see what happens. Will try to have that done in the next week, but no promises.

Any comments are highly appreciated.


Attachments:
jsr816ok.jpg
jsr816ok.jpg [ 30.91 KiB | Viewed 488 times ]
Top
 Profile  
Reply with quote  
PostPosted: Wed Dec 30, 2020 12:27 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10827
Location: England
Relatively surprising, but I think a conclusive result!


Top
 Profile  
Reply with quote  
PostPosted: Wed Dec 30, 2020 2:04 pm 
Offline
User avatar

Joined: Fri Dec 11, 2009 3:50 pm
Posts: 3366
Location: Ontario, Canada
Your previous test was quite persuasive, but somehow I'm mildly surprised anyway by this latest result. You certainly seem to have proven there's a problem, but yes -- when you get time, please do the "$FC opcode with resistors" test and report back. (Ideally you should test *both* chips, just to "test the test".)

Also I wonder, is this a random error in the wafer that became your chip, or was there a design flaw that affected one or more entire batches of chips? Probably the former, but we'll never know... unless we can find an Erratum report, or a sibling Sanyo chip which can be tested. :|

-- Jeff

_________________
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html


Top
 Profile  
Reply with quote  
PostPosted: Wed Dec 30, 2020 2:34 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10827
Location: England
(I would suspect a 'test escape' - a chip with a flaw, not picked up by the production test. One bad via, one leaky transistor, might be enough. There's also the possibility of a field failure, caused by contamination, metal migration, hot carrier injection, even crystal lattice defect...)


Top
 Profile  
Reply with quote  
PostPosted: Wed Dec 30, 2020 2:58 pm 
Offline

Joined: Wed Feb 23, 2005 5:44 pm
Posts: 42
Location: Sweden JO65kv
I will see if I can do the test ASAP and also test with a higher clock.

Did the old 800nm Sanyo contain dynamic circuitry?

I have searched quite a lot for errata, but turned out negative. The faulty chip has an uncommon(?) date stamp of 9906, but is bought directly from WDC around 2003 so it's 100% genuine.


Top
 Profile  
Reply with quote  
PostPosted: Thu Feb 18, 2021 11:34 am 
Offline

Joined: Wed Feb 23, 2005 5:44 pm
Posts: 42
Location: Sweden JO65kv
The machine now seems to work nice and stable, so I'm going on to make programs for it.

One of the first tasks is to allow something else than tape to be used to store/load using the built in commands. The AIM monitor program has the "U"ser option for device. The character output has to be blocked before transfer to the Linux and even if sending char-by-char the file has to be closed. But how to know when to flush the last incomplete block and close the file?

The best I can come up with is to use one of the F-keys as a maual EOF, or do the same from the PC side. Timer is not an alternative when waiting for Y/N prompt. Looking for end record takes CPU and does not work for all output sources. A hack in the monitor does not work for BASIC and others.

This issue must have been there even back then, so does a standard solution exist? Or was all media of character type and without the need of closing?


Top
 Profile  
Reply with quote  
PostPosted: Thu Feb 18, 2021 12:10 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10827
Location: England
I think probably everything was characters, which were written as they were output.

So your best bet might be one or more heuristics: don't necessarily close, but flush the file when there's a pause, or an end of line character, or a user request. Is a timer certainly not an option? The code that's waiting for a prompt is presumably spinning, so it could count while it spins.


Top
 Profile  
Reply with quote  
PostPosted: Mon Mar 01, 2021 9:29 am 
Offline

Joined: Wed Feb 23, 2005 5:44 pm
Posts: 42
Location: Sweden JO65kv
It worked out that the best solution was to have a manual close signal initiated from the PC that flushes the buffer and close the file. The 816 can of cource also initiate this from new programs that are aware of that files needs closing.

Now to the next issue, that was slightly unexpected.
Using the SAVE command in the original AIM BASIC and selecting U as device just outputs a string of CRLF's and a ^Z. Using the GWBASIC works just fine.

Does any of You have any info about this?


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 83 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6

All times are UTC


Who is online

Users browsing this forum: No registered users and 24 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: