Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!cs.utexas.edu!uunet!microsoft!brianw From: brianw@microsoft.UUCP (Brian Willoughby) Newsgroups: comp.sys.apple Subject: Re: Zip-Chip/Rocket Chip Summary: Clarification and a question about the Monitor Message-ID: <8041@microsoft.UUCP> Date: 13 Oct 89 21:43:58 GMT References: <8910110859.AA13733@trout.nosc.mil> Reply-To: brianw@microsoft.UUCP (Brian Willoughby) Organization: Microsoft Corp., Redmond WA Lines: 55 In article <8910110859.AA13733@trout.nosc.mil> dale@pro-colony.cts.com (System Operator) writes: > >> From: pnet01!pro-tcc!jerryk@crash.cts.com (Jerry E. Kindall) >[stuff deleted] > >> $C030. You can use the standard TransWarp POKE to turn the chip on and off >> (and you don't have to reset the computer after changing speeds -- although >> you don't have to with the Zip either, you do with the TransWarp). > >You only have to reset the TransWarp if you turn the card off. You do not >have to reset the card to change from one speed to another. To be even more exact, you don't have to reset the TransWarp at all. Its the motherboard 65x02 that you have to reset. Realize that the normal speed processor has been hanging around dormant the whole time the TransWarp was active, and turning the TransWarp off means you need to cold boot the motherboard. None of the 65x02 registers have been initialized, and who knows where the Program Counter is pointing. RESET just forces your regular processor to a known state. I have had the unpredictable luck of switching off the TransWarp and not having to RESET, probably because the main 65x02 just happened to execute a BRK instruction, or somehow decided to reset on its own. I have had the monitor do some strange things when attempting to change TransWarp speeds (but keeping the TransWarp active). Typing $C074:1 for slow speed or $C074:0 for high speed will sometimes lock up the computer. I have had trouble with using the monitor to do direct writes to hardware before, so I wrote two BIN programs to do the 'POKES' for me. These never lock the machine up when changing speeds. The problems I had with directly writing to hardware from the monitor were related to a 6581 (Commodore) SID chip (Sound Interface Device) board that I built. I made a habit of directly storing sound commands to the chip, but occasionally the monitor would screw up the volume register and I wouldn't hear the sound output anymore. So I would have to re-write a new output volume register value. I assumed that this was related to the 6502 bug/feature where index register addressing modes would sometimes do an access on a partially incomplete address. I.e. the monitor stores to STA (A3L),Y and (A3L) is put on the address bus (a read access) the cycle before the 6502 computes A3L + Y for the actual write address. This extra read doesn't hurt RAM addresses, but extra I/O reads can sometimes do damage. The confusing part was that I seem to remember having a R65C02 at the time - and I thought that the 65C02 corrected this anomaly? Also, why would a random read of a 6581 register or the TransWarp speed register change the value stored there if its not a write access? Anybody have any more details on why the monitor might screw up I/O accesses? Brian Willoughby UUCP: ...!{tikal, sun, uunet, elwood}!microsoft!brianw InterNet: microsoft!brianw@uunet.UU.NET or: microsoft!brianw@Sun.COM Bitnet brianw@microsoft.UUCP