Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!samsung!munnari.oz.au!goanna!minyos!monu6!monu1!vaxc!apm279l From: apm279l@vaxc.cc.monash.edu.au Newsgroups: comp.sys.handhelds Subject: Questions RE: saturn processor (esp 28, also 48) Message-ID: <72330.274a4cb2@vaxc.cc.monash.edu.au> Date: 20 Nov 90 22:45:22 GMT Organization: Computer Centre, Monash University, Australia Lines: 36 Hi, I am working on (and have almost finished) a saturn -> C converter which should make it simple to debug saturn code. If it is of interest I'll place it in the public domain (that's the sweetener!) Now: I have a few questions re the Saturn processor (I could find out for myself by experiment, but to save me some time as I'm very snowed under at the moment...) (1) According to the now biblical processor notes (thanks Alonzo!) the branch instructions affect the carry. I need to know *how* it is affected. I *guess* that (for example) brgt.f a,c,label does a subtraction, but is it "a-c" or "c-a"?? what about breq, brge, brle, brlt etc. What about brz and brnz?? (2) What about neg.f X - how is carry alterred? It could either take a two's complement by inverting and THEN incrementing, or by decrementing, THEN inverting. (3) gosub, gosubvl, gosubl also affect carry - is this because the processor takes PC.a+OFFSET.a ? (4) How do the IN and OUT registers get used? (I know they are used somehow for I/O - but what happens, for example when you put something in OUT, how does IN receive input? and from where? - I though the keyboard was bufferred in memory (#F.... something) (5) What's known about the BUS commands? (BUSCB, BUSCC, BUSCD - do these put the contents of B,C or D on the bus? if so, what field is put?) CON/UNCONFIG, MOVE.A ID,C, SREQ, RESET. - I have the brief descriptions of these from Alonzo's notes, but what are the chips in question? What are the ID's, what happens when you config/unconfig/reset the chip? I know there is a lot here, and I may not implement all these command in my first release (depending on complexity) - but I'd like to make the converter as realistic as I can. I have not seen any details on this stuff in c.s.h and I imagine there'd be quite a few users out there with the same questions. Thanx in adv, Peter