0 Members and 3 Guests are viewing this topic.
If you want a really extreme optimization for or-ing the screen, here it is. It will be noticeably faster and smaller:Code: [Select].# represents the 16-bit or operationL₆→AWhile -768-L₆{A}ʳ#{A+L₃-L₆}ʳ→{A}ʳ+1→AEnd
.# represents the 16-bit or operationL₆→AWhile -768-L₆{A}ʳ#{A+L₃-L₆}ʳ→{A}ʳ+1→AEnd
For(Z,0,15) Copy({Z*24+L6},{Z*16+L1},16)End
F32CI want to be able to treat it like this:1111001100101010(Just to make sure I have my terminology down, this would be equal to 2 nibbles or 1 byte or 16 bits, yes?)
For(Z,0,63) Copy(Z*8+L1,Z*12+L6,8)End
1111001100101100
b00100000e2
e^(5)
PRGM:AMENUSRC.AMENULbl MMClrHomeFix 3Disp " A GENERIC MENU ".has to be 16 charsFix 2Disp " Play Game",i," Options",i," Quit"3→CSub(SEL)If A=1Disp "GAME".Game content here.End of game, go to main menuGoto MMEnd.Can nest as soIf A=2Lbl OPTFix 3Disp "Options "Fix 2Disp " Something",i," Something else",i," Get the point"3→CSub(SEL).Responses, may contain more sub-menusGoto MMEndIf A=3.last option, has to be quit for it to work correctlyReturnEndLbl SEL1→A→BOutput(0,A,5►CharRepeat getKey(54)ReturnIfgetKey(15)A+getKey(1)-getKey(4)→B!If A=B!IF B:C→B:EndIf B=C+1:1→B:EndOutput(0,A," ".that's 1 spaceOutput(0,B,5►CharB→APause 475EndEndClrHome.Return
Code: [Select]If B=C+1:1→B:End
If B=C+1:1→B:End
If C+1=B:1→B:End
QuoteCode: [Select]If B=C+1:1→B:Endshould beCode: [Select]If C+1=B:1→B:EndDon't forget about (the lack of) order of operations You're old code added one to whatever the value of B=C was, so that For loop would ALWAYS be true; hence, why you couldn't move the cursor around (because B was getting reset to 1 every iteration)