[comp.sys.handhelds] Repost Questions RE: saturn processor

apm279l@vaxc.cc.monash.edu.au (11/28/90)

A few weeks ago I posted the following message:

> 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

To date, I've only had one reply (posted as a followup message to this group).
It indicated that all branches set carry on true, or clear on false. It also
described some of the uses of IN and OUT. As to the other questions, I've
had no luck so far. I (think) I posted a copy to Alonzo too, but was not sure
of his address. I was hoping that there might be people out there with extra
answers who didn't mail me (thinking others would).

My saturn->C converter is almost finished; in fact all I need are answers to
the above (esp carry & goto). The converter is a bit crude at this stage,
as I'm not simulating much hardware yet, but it *can* be run as a screen
debugger for saturn code -you can step through, looking at registers, and
optionally change register contents. It has provision for you to extend
it (eg add ROM routines at appropriate addresses).

If I can get some help, I'll post the source to c.s.h and to hpcvbbs.

Peter