Here is yet another entry...
This program can be used to change CPU mode on MSX tR.
3608 DEFUSR=-32749:IFUSR(0)THENLINE>2COPY0&H80F6OR384BASE!!
Change number after "LINE>" like this:
0 = Z80 (ROM)
1 = R800 (ROM)
2 = R800 (DRAM)
This program has also another special feature... If you save this program with .COM extention, you can use it on MSX-DOS as well.
Example:
SAVE"R800.COM"
_SYSTEM
R800
Here is version, that should not give me minus points as it works from any address...
8728 DEFUSR=38+PEEK(-2442)+PEEK(-2441)*256:IFUSR(0)THENLINE>2COPY0&H80F6OR384BASE!!
Hehe, I was just thinking you wouldn't get any bonus points but then you came up with an even more insane version
/me drops his jaw to on the floor...
My MSX started to smell funny after I ran your entry
Ok, here is the latest version
8728 DEFUSR=38+PEEK(-2442)+PEEK(-2441)*256:IFUSR(0)THENLINE>2COPY0&H80F6OR384ALLYOURBASEAREBELONGTOUS!
Dvik: You really should not eat on top of your MSX
hehe ^_^
Say euhm.. Nyrikki... could you explain how the $#%*&$* this works? I'm clueless
I think he reads the pointer to the basic program (#f676 + 256*#f677), then add a offset of 38 bytes(used by the real basic program) and then executes a clever Z80 code defined with BASIC tokens and data.
Yes it isn't really an MSX basic program. It is just a reverse basic of a small program that sets the CPU mode. Asembler code is usually not allowed in basic contests so I doubt that this entry would count although the idea is brilliant and the entry looks very good