I'll be telling you more about this in the coming
years as time permits. I intend to reverse engineer
this product and wind up with a commented assemble language
source listing of the embedded program.
Paul Lamar ...No rotor no motor.
Hi Paul,
Go for it! It will keep you out of mischief.
Jim [Mederer]
You are not implying I create havoc in the rotary engine world
are you? :)
I think you need to download the hardware manual for the SH-2E.
http://america.renesas.com/fmwk.jsp?fp=/search&site=i&cnt=SearchResults.jsp&qt=SH-2E&col=iactenam
I did and it is wonderful :)
Paul Lamar ...No rotor no motor.
Jim,
These are the I/O port addresses for the RX8 PCM CPU.
Page 785 and 786 in the hardware manual.
Start with a disassembled listing. Load it into
an editor. Search for the control register addresses
one at a time. They will be located in routines that set the ports
up as an input, output, A to D, interrupt port or what
ever. Study the software and find out how each port
is set up by referring to the software and hardware manuals.
Usually it is only done once at power up time.
From the hardware description the I/O pin numbers
for these ports are given. You are now on your way.
Comment the listing with how the ports are setup.
The next step is search for the actually port addresses.
Study the associated routines and figure out what it is doing.
If you see an RTS (return from subroutine)
that means it is a sub routine and is called over and over again
by other parts of the programs. Work back from
the RTS to where you see anther RTS. That is the beginning
of the subroutine and the end of another one. Note the address
just after the new RTS. That is the calling address of that
subroutine.
Now you can search for that address in the address field
and find all the parts of the software that call that
subroutine. So forth and so on.
Much of this can be automated with DOS Quick BASIC.
It can read the disasembled listing and automatically
comment it when it finds the key addresses. It can then
write it out to the hard disk as a partially commented
ASM source listing.
If you have never programmed in DOS QB it is one of the easiest
programming languages to learn. I have it if you need or
want it ... it is small enough to email.
I OCR'd this file so double check with pages 785 and 786
in the hardware manual.
Paul Lamar
Port A 10 register PAIOR R1W H'OOOO H'FFFFF720 8, 16
Port A control register H PACRH R1W H'OOOO H'FFFFF722 8, 16
Port A control register L PACRL R/W H'OOOO H'FFFFF724 8, 16
Port B 10 register PBIOR R1W H'OOOO H'FFFFF730 8,16
Port B control register H PBCRH R/W H'OOOO H'FFFFF732 8, 16
Port B control register L PBCRL RfW H'OOOO H'FFFFF734 8,16
Port B invert register PBIR R/W H'OOOO H'FFFFF736 8,16
Port C 10 register PCIOR R/W H'OOOO H'FFFFF73A 8, 16
Port C control register PCCR R/W H'OOOO H'FFFFF73C 8,16
Port 0 10 register P010R R/W H'OOOO H'FFFFF740 8,16
Port 0 control register H P0CRH R/W H'OOOO H'FFFFF742 8,16
Port 0 control register L P0CRL R1W H'OOOO H'FFFFF744 8, 16
Port E 10 register PEIOR R1W H'OOOO H'FFFFF750 8,16
Port E control register PECR R1W H'OOOO H'FFFFF752 8, 16
Port F 10 register PFIOR R/W H'OOOO H'FFFFF748. 8,16
Port F control register H PFCRH RfW H'0015 H'FFFFF74A 8,16
Port F control register L PFCRL RfW H'5000 H'FFFFF74C 8, 16
Port G 10 register PGIOR RfW H'OOOO H'FFFFF760 8,16
Port G control register PGCR RfW H'OOOO H'FFFFF762 8,16
Port H 10 register PHIOR RfW H'OOOO H'FFFFF728 8,16
Port H control register PHCR R1W H'OOOO H'FFFFF72A 8, 16
Port J 10 register PJIOR RfW H'OOOO H'FFFFF766 8,16
Port J control register H PJCRH RfW H'OOOO H'FFFFF768 8, 16
Port J control register L PJCRL RfW H'OOOO H'FFFFF76A 8, 16
Port K 10 register PKIOR RfW H'OOOO H'FFFFF770 8, 16
Port K control register H PKCRH R1W H'OOOO H'FFFFF772 8, 16
Port K control register L PKCRL R1W H'OOOO H'FFFFF774 8, 16
Port K invert register PKIR RfW H'OOOO H'FFFFF776 8, 16
The Rotary Engine NewsLetter. Powered by Linux.
ACRE NL web site.
http://www.rotaryeng.net
Copyright 1998-2006 All world wide rights reserved.