S3C8 ASM expert question on modifing RAM

Support forum for extenders. If you're having trouble getting one up and running, this is the place to come.

Moderator: Moderators

Post Reply
ngtw16a
Posts: 9
Joined: Wed Oct 05, 2016 11:23 am

S3C8 ASM expert question on modifing RAM

Post by ngtw16a »

Hello.
I'm an IT guy...trying to remember my assembler...its been AWHILE for me.

I'm tinkering with some custom extender logic, and wasn't sure about
how to modify the ram within the code.

so, the way I understand it...the protocol code is copied from EEPROM
into RAM at address FF00 (for a 15-2116).

Is this ram built INTO the CPU or is it external? (maybe in the EEPROM chip?) The processor specs didn't seem to mention any ram at FF00 ?

I'm trying to modify a few bytes...and looking at using the LDC command.
but wasn't sure if it was internal or external (LDC -vs- LDE)

example would be: LDC FF10H,RC0

I'm sure someone has done this before...but didn't see any LDC, LDE in
the 15-2116 extender's code.


:Pat
vickyg2003
Site Admin
Posts: 7104
Joined: Sat Mar 20, 2004 12:19 pm
Location: Florida
Contact:

Re: S3C8 ASM expert question on modifing RAM

Post by vickyg2003 »

ngtw16a wrote:Hello.
I'm an IT guy...trying to remember my assembler...its been AWHILE for me.

I'm tinkering with some custom extender logic, and wasn't sure about
how to modify the ram within the code.
Humbling isn't it. :lol: EEPROM extenders are very difficult to write.

You might find this thread of interest.
http://www.hifi-remote.com/forums/viewtopic.php?t=7637

I don't have a clue as to where the RAM is, although I know it is not in the EEPROM. Once I finished with the Cinema 7, I moved on to the JP1.2 Flash remotes which were much easier to extend.

I moved this thread to the extender forum.
Remember to provide feedback to let us know how the problem was solved and share your upgrades.

Tip: When creating an upgrade, always include ALL functions from the oem remote, even if you never plan on assigning them to a button. Complete function lists makes an upgrade more helpful to others.
unclemiltie
Expert
Posts: 1819
Joined: Wed Jan 21, 2004 12:50 pm
Location: Pittsburgh, PA

Post by unclemiltie »

On the JP1 remotes yes the protocol is copied from the E2 to RAM before being executed since the E2 is connected to the processor by a serial bus. The RAM varies depending on which variant of the S3C8 processor you're talking about, but generally FF00 is a good place to start

On the JP1.3 remotes the protocol is not copied since the E2 is inside the processor chip and is directly accessible so no need to do that extra work.
this JP1 stuff is a sickness!
unclemiltie
Expert
Posts: 1819
Joined: Wed Jan 21, 2004 12:50 pm
Location: Pittsburgh, PA

Post by unclemiltie »

Also, now back from traveling so I can try to clarify the LDC and LDE instructions

S3C80 processors had an interface for external memory to augment the amount that was on board. Remember they only had ROM and all of the EEPROM stuff was done through a serial interface into RAM.

The S3F80 flash based processors have no external interface to allow you to add on more memory. Thus the LDE instruction really isn't there.

The assembler syntax for the instructions is the same and the assembler puts in a bit (I think in bit 0 since the addresses for the instruction are word aligned) that will indicate which memory, internal or external)

So on a JP1.3 remote the LDC is really the only instruction.

The flash based processors have on board flash and RAM. the flash memory holds both the "code" for the remote and the settings (aka the "E2" area). RAM is used for scratch pad work and the stack used in calling/returning and things like that.

"Program Memory" is from $0000 to $FFFE, on all of the processor variants I know RAM starts at FE80 or FF00, the rest is Flash.
this JP1 stuff is a sickness!
Post Reply