I'll say a small prayer for the substrate.
I'll say a small prayer for the substrate.
-Carl
Prayer? We need more of a chant.
Both Motorola and GM tested the heck out of these things, extreme cold & extreme hot. Elevated voltage and under voltage. Substrate will be fine.
Here is an example where GM used the same principal
Code:************************************************* * SOFTWARE INTERRUPT: VECTOR AT $FFF6 ************************************************* 4C28 14 00 08 BSET @$00,$08 ; SPERIOUS SOFTWARE INTERRUPT 4C2B 20 FE BRA $4C2B ; LOOP TILL COP RESET HITS
Cheers,
Tom
NO wait their code is actually tighter than mine. They used relative addressing/branch. Their code beats on two locations where as mine beats on three!
Last edited by Tom H; 01-21-2024 at 07:36 PM.
Hahaha, chanting
Back in the 90's I ran some tests on some TMS370 stuff, brutally burning the bit flips from 00h-FFh and it took ~30,000,000 cycles before partial failure. Adding that short delay got it up to ~90,000,000. Fun stuff. Thanks Tom for the memory visit. Great work, btw :)
-Carl
Hey Carl,
Am I confused? The tight loop is just execution waiting for the watchdog/cop to hit. At this point it is just setting a ram location and resetting. When it reboots the GM software leaves the BPROT open for access when it sees my tag. At that point, I can mess with the EEPROM and CONFIG register to get the desired results. Since it is just execution not programming tight loop is OK.
I was sure you were pulling my leg
-T
Hi Tom,
Yeah, I was having a little fun about the substrate :) This situation has no worries, it just reminded me when I wrote a "burner" to test. The spec sheet said it was only good for ~100,000 writes. I thought BS and did some testing for myself
-Carl
Hi In-Tech,
I wrote the loader and now have it working, but have run into a problem with my assembler. I have variables that I map into the internal ram starting at 0. My program is resident in EEPROM at $FE00 and above all the way up to the vectors.
The assembler output that I use is SRecords. It refuses all my attempts to get it to create the final execute record at the right place. It always wants to run from zero. NOT from the $FE00. Would you happen to know what magic incantations are required in the code to get it to make the correct S9 record? I have tried all the commands that have any promise in the manual. The assembler I am using is ASM11.
As it is each time I assemble, I need to go into the file change the execution address manually and re-calc the checksum. ??tools??
-Tom
Hiya Tom, I will have to dig to find this older stuff. I'm surprised you are using MotS, Intel hex has always seemed good but I have never worked with your box. If you would like, PM me the code to assemble and I will attempt in MotS.
Btw, it's Carl, as noted in my sig line :)
-Carl
Bookmarks