From: "M. Edward (Ed) Borasky" Date: 2006-10-27T08:00:57+09:00 Subject: Re: modeling a simple cpu ara.t.howard@noaa.gov wrote: > On Fri, 27 Oct 2006, Paul Lutus wrote: > >> Gavin Kistner wrote: >> >>> From: Ara.T.Howard [mailto:ara.t.howard@noaa.gov] >>>> i need to model the on board cpu of a satellite in order to >>>> mock running uploaded commands. basically i need to model >>>> the internal state and all incoming commands so i can >>>> determine register states at a given point in time. >>> >>> Not to distract the thread from your very real question, but you do >>> realize that you have one of the coolest jobs around, right? :) >> >> The last processor I successfully modeled was the old 6502 (Apple II), >> since >> then processor behavior has become too difficult to sort out in any >> reliable way (IMHO). >> >> It would be interesting for the OP to reveal what kind of processor is >> involved, and how complex. I am going to assume it doesn't support >> interrupts or threads, otherwise there is little chance to mimic its >> behavior. > > > it's for these guys > > http://heasarc.nasa.gov/docs/heasarc/missions/dmsp.html > http://www.ngdc.noaa.gov/dmsp/ > > at this point i only need to model a limited subset of the processor (i > don't > know the type yet). basically i'll be executing something long these lines > > > !================================================================= > !***** GAIN ORBIT MEMORY FOR OPS45 26 JAN 04 - 01 FEB 04 ***** > !================================================================= > ! > 0.000 CMD OAXSPG 0x00 ; 807E# (PAGE=0) > 0.000 CMD OGNASG LIN ; 0010# ASGC LIN > ! > 0.076 CMD OAXLOD 0xA2 ; 511E# (112dB) (SED) > 0.076 CMD OAXSTR 0x44 ; A22E# (BC MAX) > ! > 0.316 CMD OAXLOD 0x03 ; 819E# (.08) (VED-1/00) > 0.316 CMD OAXSTR 0x48 ; A42E# (BRDF X2) > ! > 0.324 CMD OAXLOD 0x06 ; 831E# (.25) (VED-00/12) > 0.324 CMD OAXSTR 0x46 ; 232E# (BRDF HRD) > 0.324 CMD OAXLOD 0x9E ; 4F1E# (136dB) > 0.324 CMD OAXSTR 0x44 ; A22E# (BC MAX) > ! > 0.326 CMD OAXLOD 0x8E ; C71E# (118dB) (VES) > 0.326 CMD OAXSTR 0x44 ; A22E# (BC MAX) > ! > 0.650 CMD OAXLOD 0x29 ; 149E# (.02) > 0.650 CMD OAXSTR 0x48 ; A42E# (BRDF X2) > > .... > .... > .... > > as you can tell these are load/store/add instuctions. there are no > parameters, all the values are burned on board before flight - so there are > only certain values you can do ops with. as you can tell it's ultra > simple - > basically i'll just have to model rom, ram, registes, and ops. > > > hey - a smell a ruby quiz! ;-) > > > -a Isn't there an open-source "universal old architecture emulator" package of some kind? I remember seeing it in Debian when I was running Debian -- it could play most of the old Atari games, etc. I can certainly see if it's in Gentoo, if I can figure out what it was called.