No, it executes all 143 loops writing all 144 bytes. In fact I was so tired last evening I started counting loop iterations before it occurred to me to find the difference in line numbers between first and last loops and divide by lines per loop. 😊
Thinking out loud here… The start of the cold boot routine sets the stack pointer thusly: 7DE7H (31H) LXI SP,F5E6H ; Load the SP with Cold Boot location And stack grown downward. The 144 bytes is being copied into RAM at F5F0H, F5F0H + 90H = F690H. The 8K boundaries of each RAM bank are FFFFH-E000H, DFFFH-C000H, BFFFH-A000H, 9FFFH-8000H. Both the stack and location being copied to are in the same bank but do not overlap. Only A0-A10 routed to RAM, noted by spaces below. F5F0H, 1111 0 101 1111 0000B start of RAM copy destination F690H, 1111 0 110 1001 0000B end of RAM copy destination F5E6H, 1111 0 101 1110 0110B start of stack, grows down. I think the RAM module has four chips which would be 2K each. FFFFH-F800H, F7FFH-F000, EFFFH-E800, E7FFH-E000 So, the address range in question is all on the same chip. It would seem odd that the bank decoding would work correctly for only some addresses in this same bank, i.e. A11-A15 are not changing. But this is possible. It could be in the RAM itself, perhaps it is bad at that particular offset into the stack? This PCB is the early style with the odd Sharp ROM pinout. I believe the standard RAM module is the same footprint as the option RAMs, of which I have two. I guess M4/M5 are the easiest to swap out and try to pull and test. Thanks for all your help, Jeff From: M100 <[email protected]> On Behalf Of Fugu ME100 Sent: Wednesday, May 9, 2018 11:43 PM To: [email protected] Subject: Re: [M100] SPAM-LOW: Re: New member - question on 'half' alive Model 100 Does it only execute the loop once and get stuck for the first time at 2574H? The 49H in the data dump is most likely the C9H for the RET. The next two byte are the return address from the stack. They could be 0A57H, 0AD7H, 8A57, 8AD7H or other permutations. As this routine is writing to the RAM it is quite possible it is trashing the stack and destroying the return address - could be a bad RAM chip or decoder. There are at least two different versions of the M100 motherboard one has 700mil RAM modules and the other 750mil. Not sure if there are any ROM differences or other hardware differences.
