Alvajoy123 wrote:
This looks amazing !!!
Look forward to using it.
how does the saving work?
do you save it all in to an appvars ?
how long can the text be?
I plan to save work completely through appvars.
Your text can be as long as your ROM provides.
Right now I have only programmed one available line, but I will add infinite amount of possible lines, text wrapping, and scrolling.
Edit: I'm going to get yelled at by Kerm for double-posting, so I'm going to combine two posts together. I've started on the appvars section, and I have seem to run another problem (such is the life of a programmer). My program seems to be happy until you type a 3rd character. You can delete over and over again, but the program crashes after the 3rd character is typed. I looked at my code over and over again and I'm baffled over it.
Main Program
Code:
[i]ICEPAD
Alloc(1000->A
CloseAll
If Open("ICEPadAV","r+"->A
GetSize(A->POS
Read(DATA,POS,1,A
Copy(L6,DATA,POS
Else
Open("ICEPadAV","w+"->A
0->POS
End
Begin
AsmComp(ICEPADAT
Copy(L5,L1,38
0->KEY+1->MODE+23->Y
SetColor(107
SetTextBGColor(107
SetTextFGColor(255
SetTextTransparentColor(1
FillRectangle(1,218,318,20
FillRectangle(1,1,318,20
Sprite(ICEDLOGO,4,2
ScaledSprite_NoClip(ALPHA,300,3,2,2
PrintStringXY("ICEPad v0.1.1",20,8
SetTextBGColor(255
SetTextFGColor(0
Rectangle(1,22,318,195
While 1
Lbl LOOPW
Repeat (KEY>8 and KEY<15) or (KEY>16 and KEY<23) or (KEY>24 and KEY<32) or (KEY>32 and KEY<40) or (KEY>41 and KEY<49) or KEY=54 or KEY=56
getKey->KEY
End
If KEY=9 or KEY=48 or KEY=54 or KEY=56
Goto MISC
End
POS+1->POS
L5((KEY-10)->CHAR
If CHAR=0
POS-1->POS
Goto LOOPW
End
KEY->{L6*POS
SetTextXY((POS-1)*8+3,Y
PrintChar(CHAR
End
Lbl MISC
If KEY=9
Goto END
End
If KEY=48
If MODE=1
ScaledSprite_NoClip(LALPHA,300,3,2,2
2->MODE
Copy(L5,L2,38
Goto LOOPW
End
If MODE>1
ScaledSprite_NoClip(ALPHA,300,3,2,2
1->MODE
Copy(L5,L1,38
Goto LOOPW
End
End
If KEY=54
If MODE<4
ScaledSprite_NoClip(SECOND,300,3,2,2
4->MODE
Copy(L5,L4,38
Goto LOOPW
End
If MODE=4
SetColor(107
FillRectangle(300,3,10,14
3->MODE
Copy(L5,L3,38
Goto LOOPW
End
End
If KEY=56 and POS>0
SetColor(255
FillRectangle((POS-1)*8+3,Y,8,8
POS-1->POS
Goto LOOPW
End
If KEY=56 and POS=0
Goto LOOPW
End
Lbl END
Copy(DATA,L6,POS
CloseAll
Open("IcePadAV","w"->A
Write(DATA,POS,1,A
det(1
Subprogram
Code:
[sigmay]L1,1,34,87,82,77,72,0,0,63,0,86,81,76,71,0,0,58,90,85,80,75,70,67,0,32,89,84,79,74,69,66,0,0,88,83,78,73,68,65
[sigmay]L2,1,96,119,114,109,104,0,0,17,0,118,113,108,103,0,0,59,122,117,112,107,102,99,0,32,121,116,111,106,101,98,0,0,120,115,110,105,100,97
[sigmay]L3,1,43,45,42,47,94,0,0,45,51,54,57,41,0,0,0,46,50,53,56,40,0,0,0,48,49,52,55,44,0,0,0,0,0,0,0,0,0,0
[sigmay]L4,1,0,93,91,0,0,0,0,0,0,0,0,125,0,0,0,0,0,0,0,123,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
[minY]14,17,"6B6BE26B6BE26B6BE26B6BE26B6B3B3BE23B3BE23B3BE23B3BE23B3B3B1D611D1D611D1D611D1D611D3B3B1D61DE1D61DE1D61DE1D61DE3B3B1D1D1D1D1D1D1D1D1D1D1D1D3B3B1D1F1F1F9F9F9F1F1F1F3D1D3B3B1D3D1F5D9F5D5D1F5D5D3D1D3B3B1D3D1F5D9F5D5D1F1F5D3D1D3B3B1D3D1F5D9F5D5D1F5D5D3D1D3B3B1D1F1F1F9F9F9F1F1F1F3D1D3B3B1D9F9F9F5D1F5D9F9F5D3D1D3B3B1D9F5D9F1F5D1F9F5D9F3D1D3B3B1D9F9F9F1F1F1F9F5D9F3D1D3B3B1D9F5D5D1F5D1F9F5D9F3D1D3B3B1D9F3D3D1F3D1F9F9F3D3D1D3B3B1D1D1D1D1D1D1D1D1D1D1D1D3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B"->ICEDLOGO
[minY]5,7,"6B6B6B6B6B6B6BFF6B6B6BFFFFFF6BFF6BFF6BFF6B6BFF6B6B6B6BFF6B6B6B6BFF6B6B"->SECOND
[minY]5,7,"6B6B6B6B6B6B6BFF6B6B6BFF6BFF6B6BFFFFFF6B6BFF6BFF6B6BFF6BFF6B6B6B6B6B6B"->ALPHA
[minY]5,7,"6B6B6B6B6B6B6BFF6B6B6B6B6BFF6B6B6BFFFF6B6BFF6BFF6B6B6BFFFF6B6B6B6B6B6B"->LALPHA