|
| | Re: How do I delete firmware from firmware?
|
| (...) M_CODE(3,``"BYE"'',BYE,_FLINK) MOV.B #1:8, rAl MOV.B rAl,@0xCC:8 MOV.W @0:16,rA ; Reset vector JSR @rA M_NEXT() (24 years ago, 23-May-00, to lugnet.robotics.rcx.pbforth)
| | | | RE: How do I delete firmware from firmware?
|
| (...) Actually, BYE is in the h8hforth.asm source now, but it's a no-op. Could you email it to me, Ernst, and then I'll put it into the basic distribution... Cheers, Ralph Hempel - P.Eng ---...--- Check out pbFORTH for LEGO Mindstorms at: (URL) (...) (24 years ago, 23-May-00, to lugnet.robotics.rcx.pbforth)
| | | | Re: How do I delete firmware from firmware?
|
| (...) [...snip...] (...) I defined the BYE word in h8hforth.asm according to Kekoa's comments and it works like a charm. The RCX is reset but doesn't turn off, so new firmware can be uploaded immediately. Ernst (24 years ago, 23-May-00, to lugnet.robotics.rcx.pbforth)
| | | | RE: How do I delete firmware from firmware?
|
| (...) Here's a copy of what Kekoa replied with... This sounds correct. In C, this is how I do it: /* Delete the firmware */ *(char *)0xffcc = 1; (*(void (**)(void))0)(); Indeed, *(void (**)(void))0) is the reset vector, whose value is 0x03ae. 0xffcc (...) (24 years ago, 23-May-00, to lugnet.robotics.rcx.pbforth)
| | | | Re: How do I delete firmware from firmware?
|
| (...) Looking at forth code it looks like "HEX 3ae EXECUTE" might end up doing what we are talking about. I tried this with out getting what I expected. I will fiddle more but does the approach seems right? M_CODE(7,``"EXECUTE"...TE,_FLINK) MOV.W (...) (24 years ago, 23-May-00, to lugnet.robotics.rcx.pbforth)
| |