ABN.ISCAMS@USC-ISID.ARPA (06/29/84)
NetLandians, Got my new PROMS in the other day for my Decision I, and a new CBIOS to implement soft-sector 5.25 drives. All very nice, except the CP/M with the new CBIOS had expanded from 16 pages to 18 pages. Morrow documentation explained how their MOVCPM had a byte at 103h that you could patch for 16 or 18, to adjust for the new CP/M length. Unfortunately, it didn't work. For the first time I encountered the "Synchronization Error" which rudely throws you right into your monitor with a HLT instruction! Looking at MOVCPM isn't much help because it's a hotbed of self-patching code, and nothing's like it appears once it starts running! It even does a tricky XTHL or something to call up the "Synchron..." so you can't even intercept that call. Someone told me the abort happens when serial numbers or version numbers or something don't match -- but I couldn't make much sense of that. I finally kludged my way around the problem - stepped through the 18-page MOVCPM with DDT until it crashed, noted the number of operations (just over 3000 (sigh...)), and then stepped to just sort of the crash, zipped out of DDT, and saved my new 18-page CP/M - but that's no way to do things! It isn't anything unique about the new MOVCPM or a bug there -- I overlaid my old MOVCPM over top of the front of the code, and the same thing happened! Anyone know exactly WHY you can't MOVCPM an 18-page (or whatever) CP/M when you're running an older, smaller CP/M in your system? Memory seems to have nothing to do with it (e.g., couldn't construct a 48Kb CP/M in my 64K system). Patch something in the old CP/M? In MOVCPM? What? I fought this for THREE DAYS, so I really would like to know why. Thanks in advance, David Kirschbaum (a very weary hacker) Toad Hall ABN.ISCAMS@USC-ISID