' Mukava ikonieditori, BootSector4:n omaa tekoa, saa käyttää vapaasti.
' Vaatii ADVBAS-alikirjaston (MBNETISSÄ ADVBAS*.ZIP, 120kt)
DECLARE SUB hiiri ()
DECLARE SUB tauko ()
DECLARE SUB drawlabel ()
DECLARE SUB drawcolors (vari1, vari2)
DECLARE SUB drawcolorboxes ()
DECLARE SUB allcolors ()
DECLARE SUB frame ()
DECLARE SUB teksti (xxx, yyy, nimi$, vari)
DECLARE SUB colornumber (vari1, vari2)
DIM SHARED mouse%(5) ' Hiiri
DIM SHARED colors(8) ' Värien muistipaikat
DIM kuva(30, 30) ' Kuva
DIM tavu1 AS STRING * 1
CLEAR
FILENAME$ = "Untitled.ROM"
SCREEN 13: CLS
leveys = 15 ' leveys
korkeus = 15 ' korkeus
alku:
PLAY "p64"
CALL clrkbd ' tyhjennetään näppäimistöpuskuri
frame ' Piirretään alkuruutu
vari1 = 15 ' 1. väri
vari2 = 20 ' 2. väri
allcolors ' Piirtää väripaletin oikeaan alanurkkaan
drawcolorboxes ' Piirtää kahdeksan värin muistipaikat
CALL drawcolors(vari1, vari2) ' Piirtää 1.- ja 2.värit
drawlabel ' Piirtää nimen oikeaan ylänurkkaan
LOCATE 2, 28: PRINT FILENAME$
CALL teksti(289, 42, "C 1-", 16)
CALL teksti(288, 43, "C 1-", 31)
CALL teksti(289, 54, "C2-", 16)
CALL teksti(288, 55, "C2-", 31)
CALL colornumber(vari1, vari2)
PALETTE 255, (65536 * 1 * 13 * 4) + (256 * 1 * 13 * 4) + (1 * 13 * 4)
GOSUB drawcrossword
CALL teksti(291, 29, STR$(leveys) + " X" + STR$(korkeus), 16)
CALL teksti(290, 30, STR$(leveys) + " X" + STR$(korkeus), 31)
' mouse%(0) = x-akseli
' mouse%(1) = y-akseli
' mouse%(2) = vasen nappi pohjassa/ei pohjassa
' mouse%(3) = oikea nappi pohjassa/ei pohjassa
' mouse%(4) = vasen 'klikkaus'
' mouse%(5) = oikea 'klikkaus'
aloitus:
DO
hiiri
'New
IF mouse%(0) >= 241 AND mouse%(0) <= 283 AND mouse%(1) >= 22 AND mouse%(1) <= 30 AND mouse%(4) <> 0 THEN
CALL mmcursoroff: CLEAR
GOTO new
END IF
'Save
IF mouse%(0) >= 241 AND mouse%(0) <= 283 AND mouse%(1) >= 31 AND mouse%(1) <= 38 AND mouse%(4) <> 0 THEN
GOSUB save
END IF
'Load
IF mouse%(0) >= 241 AND mouse%(0) <= 283 AND mouse%(1) >= 39 AND mouse%(1) <= 46 AND mouse%(4) <> 0 THEN
GOSUB load
END IF
'Quit
IF mouse%(0) >= 241 AND mouse%(0) <= 283 AND mouse%(1) >= 47 AND mouse%(1) <= 55 AND mouse%(4) <> 0 THEN
GOTO quit
END IF
'******
'*************
'************************
'*************
'******
IF mouse%(0) >= 207 AND mouse%(0) <= 232 AND mouse%(1) >= 71 AND mouse%(1) <= 159 AND mouse%(2) <> 0 THEN
CALL mmcursoroff
IF POINT(mouse%(0), mouse%(1)) <> 255 THEN
vari1 = POINT(mouse%(0), mouse%(1))
CALL drawcolors(vari1, vari2)
CALL colornumber(vari1, vari2)
END IF
END IF
IF mouse%(0) >= 207 AND mouse%(0) <= 232 AND mouse%(1) >= 71 AND mouse%(1) <= 159 AND mouse%(3) <> 0 THEN
CALL mmcursoroff
IF POINT(mouse%(0), mouse%(1)) <> 255 THEN
vari2 = POINT(mouse%(0), mouse%(1))
CALL drawcolors(vari1, vari2)
CALL colornumber(vari1, vari2)
END IF
END IF
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
IF mouse%(2) <> 0 AND mouse%(0) <= loppux AND mouse%(1) <= loppuy THEN
CALL mmcursoroff
IF POINT(mouse%(0), mouse%(1)) <> 255 THEN
PAINT (mouse%(0), mouse%(1)), vari1, 255
korkeusarvo = 0
FOR a = 0 TO korkeus * yarvo STEP yarvo
leveysarvo = 1: korkeusarvo = korkeusarvo + 1
FOR i = 0 TO leveys * xarvo STEP xarvo
IF leveysarvo <= leveys AND korkeusarvo <= korkeus THEN
IF POINT(i + 1, a + 1) <> 255 THEN PSET (197 + leveysarvo, 164 + korkeusarvo), POINT(i + 1, a + 1)
IF POINT(i + 1, a + 1) = 255 THEN PSET (197 + leveysarvo, 164 + korkeusarvo), POINT(i + 2, a + 2)
END IF
leveysarvo = leveysarvo + 1
NEXT i
NEXT a
END IF
END IF
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
IF mouse%(3) <> 0 AND mouse%(0) <= loppux AND mouse%(1) <= loppuy THEN
CALL mmcursoroff
IF POINT(mouse%(0), mouse%(1)) <> 255 THEN
PAINT (mouse%(0), mouse%(1)), vari2, 255
korkeusarvo = 0
FOR a = 0 TO korkeus * yarvo STEP yarvo
leveysarvo = 1: korkeusarvo = korkeusarvo + 1
FOR i = 0 TO leveys * xarvo STEP xarvo
IF leveysarvo <= leveys AND korkeusarvo <= korkeus THEN
IF POINT(i + 1, a + 1) <> 255 THEN PSET (197 + leveysarvo, 164 + korkeusarvo), POINT(i + 1, a + 1)
IF POINT(i + 1, a + 1) = 255 THEN PSET (197 + leveysarvo, 164 + korkeusarvo), POINT(i + 2, a + 2)
END IF
leveysarvo = leveysarvo + 1
NEXT i
NEXT a
END IF
END IF
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''Hiiren pipettitoiminnot''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
IF mouse%(0) >= 239 AND mouse%(0) <= 316 AND mouse%(1) >= 77 AND mouse%(1) <= 196 AND mouse%(2) <> 0 THEN
CALL mmcursoroff
vari1 = POINT(mouse%(0), mouse%(1))
CALL drawcolors(vari1, vari2) ' Piirtää 1.- ja 2.värit
CALL colornumber(vari1, vari2)
END IF
IF mouse%(0) >= 239 AND mouse%(0) <= 316 AND mouse%(1) >= 77 AND mouse%(1) <= 196 AND mouse%(3) <> 0 THEN
CALL mmcursoroff
vari2 = POINT(mouse%(0), mouse%(1))
CALL drawcolors(vari1, vari2) ' Piirtää 1.- ja 2.värit
CALL colornumber(vari1, vari2)
END IF
'*************************Näppäimistöpuskuri****************************
SELECT CASE INKEY$
CASE CHR$(0) + ";": colors(0) = vari1: drawcolorboxes ' F1-nappi
CASE CHR$(0) + "<": colors(1) = vari1: drawcolorboxes ' F2-nappi
CASE CHR$(0) + "=": colors(2) = vari1: drawcolorboxes ' jne...
CASE CHR$(0) + ">": colors(3) = vari1: drawcolorboxes
CASE CHR$(0) + "?": colors(4) = vari1: drawcolorboxes
CASE CHR$(0) + "@": colors(5) = vari1: drawcolorboxes
CASE CHR$(0) + "A": colors(6) = vari1: drawcolorboxes
CASE CHR$(0) + "B": colors(7) = vari1: drawcolorboxes
CASE CHR$(0) + "C": colors(8) = vari1: drawcolorboxes
CASE CHR$(0) + "^": colors(0) = vari2: drawcolorboxes
CASE CHR$(0) + "_": colors(1) = vari2: drawcolorboxes
CASE CHR$(0) + "`": colors(2) = vari2: drawcolorboxes
CASE CHR$(0) + "a": colors(3) = vari2: drawcolorboxes
CASE CHR$(0) + "b": colors(4) = vari2: drawcolorboxes
CASE CHR$(0) + "c": colors(5) = vari2: drawcolorboxes
CASE CHR$(0) + "d": colors(6) = vari2: drawcolorboxes
CASE CHR$(0) + "e": colors(7) = vari2: drawcolorboxes
CASE CHR$(0) + "f": colors(8) = vari2: drawcolorboxes
CASE ELSE
END SELECT
LOOP
'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
'│││││││││││││││││││││││││││││││││││││││││││││││││││││││││││││││││││││││││││
'///////////////////////////////////////////////////////////////////////////
drawcrossword:
xarvo = ((175 + leveys) / leveys)
yarvo = ((175 + korkeus) / korkeus)
FOR a = 0 TO korkeus * yarvo STEP yarvo
leveysarvo = 1: korkeusarvo = korkeusarvo + 1
FOR i = 0 TO leveys * xarvo STEP xarvo
IF leveysarvo <= leveys AND korkeusarvo <= korkeus THEN
LINE (i, a)-(i + xarvo, a + yarvo), 0, BF
LINE (i, a)-(i + xarvo, a + yarvo), 255, B
loppux = i + xarvo: loppuy = a + yarvo
END IF
leveysarvo = leveysarvo + 1
NEXT i
NEXT a
LINE (198, 165)-(228, 195), 0, BF
RETURN
quit:
PALETTE
FOR i = 0 TO 63
FOR ii = 0 TO 255
OUT (&H3C7), ii
r = ABS(INP(&H3C9) - 1)
g = ABS(INP(&H3C9) - 1)
B = ABS(INP(&H3C9) - 1)
OUT (&H3C8), ii
OUT (&H3C9), r
OUT (&H3C9), g
OUT (&H3C9), B
NEXT ii
NEXT i
END
'████████ ██ ██ ██ ████████
'██ ██ ██ ██ ██ ██
'██ ██ ██ ██ ██ ██
'██████ ██ ██ ██ ██ ██████
' ██ ███████ ██ ██ ██
' ██ ██ ██ ██ ██ ██
'████████ ██ ██ ██ ████████
save:
xarvo = ((175 + leveys) / leveys)
yarvo = ((175 + korkeus) / korkeus)
korkeusarvo = 0
FOR a = 0 TO korkeus * yarvo STEP yarvo
leveysarvo = 1: korkeusarvo = korkeusarvo + 1
FOR i = 0 TO leveys * xarvo STEP xarvo
IF leveysarvo <= leveys AND korkeusarvo <= korkeus THEN
IF POINT(i + 1, a + 1) <> 255 THEN kuva(leveysarvo, korkeusarvo) = POINT(i + 1, a + 1)
IF POINT(i + 1, a + 1) = 255 THEN kuva(leveysarvo, korkeusarvo) = POINT(i + 2, a + 2)
END IF
leveysarvo = leveysarvo + 1
NEXT i
NEXT a
CALL mmcursoroff
LINE (40, 50)-(230, 100), 145, BF
CALL teksti(61, 59, "New or old ROM...", 16)
CALL teksti(60, 60, "New or old ROM...", 31)
CALL teksti(90, 76, "NEW", 31)
CALL teksti(90, 90, "OLD", 31)
CIRCLE (81, 73), 2, 16: DRAW "p16,16"
CIRCLE (80, 74), 2, 15: DRAW "p15,15"
CIRCLE (81, 87), 2, 16: DRAW "p16,16"
CIRCLE (80, 88), 2, 15: DRAW "p15,15"
LINE (141, 74)-(181, 84), 20, BF
LINE (140, 75)-(180, 85), 26, BF
CALL teksti(155, 81, "OK...", 16)
CALL teksti(154, 82, "OK...", 31)
alkuluku = 1
saveongelma:
CALL mmcursoroff
CIRCLE (81, 73), 2, 16: DRAW "p16,16"
CIRCLE (80, 74), 2, 15: DRAW "p15,15"
CIRCLE (81, 87), 2, 16: DRAW "p16,16"
CIRCLE (80, 88), 2, 15: DRAW "p15,15"
SELECT CASE alkuluku
CASE 1
CIRCLE (80, 74), 1, 16: DRAW "p16,16"
CASE 2
CIRCLE (80, 88), 1, 16: DRAW "p16,16"
CASE ELSE
END SELECT
DO
hiiri
IF mouse%(0) >= 74 AND mouse%(0) <= 108 AND mouse%(1) >= 70 AND mouse%(1) <= 79 AND mouse%(2) <> 0 THEN
alkuluku = 1: GOTO saveongelma
END IF
IF mouse%(0) >= 74 AND mouse%(0) <= 108 AND mouse%(1) >= 83 AND mouse%(1) <= 92 AND mouse%(2) <> 0 THEN
alkuluku = 2: GOTO saveongelma
END IF
IF mouse%(0) >= 140 AND mouse%(0) <= 180 AND mouse%(1) >= 75 AND mouse%(1) <= 85 AND mouse%(4) <> 0 THEN
GOTO jatko
END IF
IF INKEY$ = CHR$(13) THEN GOTO jatko
LOOP
jatko:
CALL mmcursoroff
LINE (40, 50)-(230, 100), 145, BF
CALL teksti(61, 59, "Input filename to save...", 16)
CALL teksti(60, 60, "Input filename to save...", 31)
LINE (45, 78)-(225, 89), 0, BF
LINE (45, 78)-(225, 89), 211, B
LOCATE 11, 7: INPUT "", FILENAME$
IF FILENAME$ = "" THEN GOTO jatko
'************************************
'***Jos ROM tallennetaan vanhaksi ***
'************************************
IF alkuluku = 2 THEN
OPEN FILENAME$ FOR OUTPUT AS #1
FOR a = 1 TO leveys
FOR i = 1 TO leveys
PRINT #1, kuva(i, a)
NEXT i
NEXT a
CLOSE
END IF
'***********************************
'***Jos ROM tallennetaan uudeksi ***
'***********************************
IF alkuluku = 1 THEN
OPEN FILENAME$ FOR OUTPUT AS #1
PRINT #1, CHR$(leveys + 60);
PRINT #1, CHR$(korkeus + 60);
FOR a = 1 TO leveys
FOR i = 1 TO leveys
PRINT #1, CHR$(kuva(i, a));
NEXT i
NEXT a
CLOSE
END IF
frame
allcolors
drawcolorboxes
CALL drawcolors(vari1, vari2)
drawlabel
LOCATE 2, 28: PRINT FILENAME$
CALL teksti(289, 42, "C 1-", 16)
CALL teksti(288, 43, "C 1-", 31)
CALL teksti(289, 54, "C2-", 16)
CALL teksti(288, 55, "C2-", 31)
CALL colornumber(vari1, vari2)
CALL teksti(291, 29, STR$(leveys) + " X" + STR$(korkeus), 16)
CALL teksti(290, 30, STR$(leveys) + " X" + STR$(korkeus), 31)
LINE (198, 165)-(228, 195), 0, BF
korkeusarvo = 0
xarvo = ((175 + leveys) / leveys)
yarvo = ((175 + korkeus) / korkeus)
FOR a = 0 TO korkeus * yarvo STEP yarvo
leveysarvo = 1: korkeusarvo = korkeusarvo + 1
FOR i = 0 TO leveys * xarvo STEP xarvo
IF leveysarvo <= leveys AND korkeusarvo <= korkeus THEN
LINE (i, a)-(i + xarvo, a + yarvo), kuva(leveysarvo, korkeusarvo), BF
LINE (i, a)-(i + xarvo, a + yarvo), 255, B
loppux = i + xarvo: loppuy = a + yarvo
END IF
leveysarvo = leveysarvo + 1
NEXT i
NEXT a
LINE (198, 165)-(228, 195), 0, BF
GOTO aloitus
RETURN
'████ ████ ██ ████
'████ ██ ██ ██ ██ ██ ██
'████ ██ ██ ██ ██ ██ ██
'████ ██ ██ ██ ██ ██ ██
'████ ██ ██ ██████ ██ ██
'████ ██ ██ ██ ██ ██ ██
'██████████ ████ ██ ██ ████
load:
CALL mmcursoroff
LINE (40, 50)-(230, 100), 145, BF
CALL teksti(61, 59, "Input filename to open...", 16)
CALL teksti(60, 60, "Input filename to open...", 31)
LINE (45, 78)-(225, 89), 0, BF
LINE (45, 78)-(225, 89), 211, B
LOCATE 11, 7: INPUT "", FILENAME$
CALL exist(FILENAME$ + CHR$(0), find)
IF find = 0 THEN
LINE (45, 78)-(225, 89), 0, BF
LINE (45, 78)-(225, 89), 211, B
LOCATE 11, 7: COLOR 12: PRINT "File not found........"
tauko
CLEAR : COLOR 15
FILENAME$ = "Untitled.ROM"
leveys = 15 ' leveys
korkeus = 15 ' korkeus
GOTO alku
END IF
OPEN FILENAME$ FOR INPUT AS #1
INPUT #1, XX$
XX$ = LEFT$(XX$, 1)
CLOSE
ROMAIKA = 0
IF XX$ = "0" THEN ROMAIKA = 1
IF XX$ = "1" THEN ROMAIKA = 1
IF XX$ = "2" THEN ROMAIKA = 1
IF XX$ = "3" THEN ROMAIKA = 1
IF XX$ = "4" THEN ROMAIKA = 1
IF XX$ = "5" THEN ROMAIKA = 1
IF XX$ = "6" THEN ROMAIKA = 1
IF XX$ = "7" THEN ROMAIKA = 1
IF XX$ = "8" THEN ROMAIKA = 1
IF XX$ = "9" THEN ROMAIKA = 1
'***********************************************
'*** Jos ROMAIKA = 1 niin se on vanhaa muotoa***
'***********************************************
IF ROMAIKA = 1 THEN
frame
allcolors
drawcolorboxes
CALL drawcolors(vari1, vari2)
drawlabel
leveys = 15 ' leveys on vanhoissa rommeissa AINA 15
korkeus = 15 ' korkeus on vanhoissa rommeissa AINA 15
LOCATE 2, 28: PRINT FILENAME$
CALL teksti(289, 42, "C 1-", 16)
CALL teksti(288, 43, "C 1-", 31)
CALL teksti(289, 54, "C2-", 16)
CALL teksti(288, 55, "C2-", 31)
CALL colornumber(vari1, vari2)
CALL teksti(291, 29, STR$(leveys) + " X" + STR$(korkeus), 16)
CALL teksti(290, 30, STR$(leveys) + " X" + STR$(korkeus), 31)
LINE (198, 165)-(228, 195), 0, BF
OPEN FILENAME$ FOR INPUT AS #1
leveysarvo = 0: korkeusarvo = 0
xarvo = ((175 + leveys) / leveys)
yarvo = ((175 + korkeus) / korkeus)
FOR a = 0 TO korkeus * yarvo STEP yarvo
leveysarvo = 1: korkeusarvo = korkeusarvo + 1
FOR i = 0 TO leveys * xarvo STEP xarvo
INPUT #1, VARIARVO
IF leveysarvo <= leveys AND korkeusarvo <= korkeus THEN
LINE (i, a)-(i + xarvo, a + yarvo), VARIARVO, BF
LINE (i, a)-(i + xarvo, a + yarvo), 255, B
loppux = i + xarvo: loppuy = a + yarvo
END IF
leveysarvo = leveysarvo + 1
NEXT i
NEXT a
CLOSE
korkeusarvo = 0
FOR a = 0 TO korkeus * yarvo STEP yarvo
leveysarvo = 1: korkeusarvo = korkeusarvo + 1
FOR i = 0 TO leveys * xarvo STEP xarvo
IF leveysarvo <= leveys AND korkeusarvo <= korkeus THEN
IF POINT(i + 1, a + 1) <> 255 THEN PSET (197 + leveysarvo, 164 + korkeusarvo), POINT(i + 1, a + 1)
IF POINT(i + 1, a + 1) = 255 THEN PSET (197 + leveysarvo, 164 + korkeusarvo), POINT(i + 2, a + 2)
END IF
leveysarvo = leveysarvo + 1
NEXT i
NEXT a
END IF
'*******************************************
'*** Jos ROMAIKA = 0 niin se on uusi ROM ***
'*******************************************
IF ROMAIKA = 0 THEN
frame
allcolors
drawcolorboxes
CALL drawcolors(vari1, vari2)
drawlabel
LOCATE 2, 28: PRINT FILENAME$
CALL teksti(289, 42, "C 1-", 16)
CALL teksti(288, 43, "C 1-", 31)
CALL teksti(289, 54, "C2-", 16)
CALL teksti(288, 55, "C2-", 31)
CALL colornumber(vari1, vari2)
CALL teksti(291, 29, STR$(leveys) + " X" + STR$(korkeus), 16)
CALL teksti(290, 30, STR$(leveys) + " X" + STR$(korkeus), 31)
LINE (198, 165)-(228, 195), 0, BF
OPEN FILENAME$ FOR BINARY AS #1
GET #1, 1, tavu1: leveys = ASC(tavu1) - 60
GET #1, 2, tavu1: korkeus = ASC(tavu1) - 60
FOR a = 1 TO korkeus
FOR i = 1 TO leveys
GET #1, , tavu1
kuva(i, a) = ASC(tavu1)
NEXT i
NEXT a
CLOSE
korkeusarvo = 0
xarvo = ((175 + leveys) / leveys)
yarvo = ((175 + korkeus) / korkeus)
FOR a = 0 TO korkeus * yarvo STEP yarvo
leveysarvo = 1: korkeusarvo = korkeusarvo + 1
FOR i = 0 TO leveys * xarvo STEP xarvo
IF leveysarvo <= leveys AND korkeusarvo <= korkeus THEN
LINE (i, a)-(i + xarvo, a + yarvo), kuva(leveysarvo, korkeusarvo), BF
LINE (i, a)-(i + xarvo, a + yarvo), 255, B
loppux = i + xarvo: loppuy = a + yarvo
END IF
leveysarvo = leveysarvo + 1
NEXT i
NEXT a
LINE (198, 165)-(228, 195), 0, BF
korkeusarvo = 0
FOR a = 0 TO korkeus * yarvo STEP yarvo
leveysarvo = 1: korkeusarvo = korkeusarvo + 1
FOR i = 0 TO leveys * xarvo STEP xarvo
IF leveysarvo <= leveys AND korkeusarvo <= korkeus THEN
IF POINT(i + 1, a + 1) <> 255 THEN PSET (197 + leveysarvo, 164 + korkeusarvo), POINT(i + 1, a + 1)
IF POINT(i + 1, a + 1) = 255 THEN PSET (197 + leveysarvo, 164 + korkeusarvo), POINT(i + 2, a + 2)
END IF
leveysarvo = leveysarvo + 1
NEXT i
NEXT a
END IF
RETURN
'████ ██ ████████ ██ ██
'██ ██ ██ ██ ██ ██
'██ ██ ██ ██ ██ ██
'██ ██ ██ ██████ ██ ██
'██ ██ ██ ██ ██ ██ ██
'██ ██ ██ ██ ██ ██ ██ ██
'██ ██ ████████ ████ ████
new:
CALL mmcursoroff
LINE (40, 50)-(230, 100), 145, BF
CALL teksti(61, 59, "Input width and height...", 16)
CALL teksti(60, 60, "Input width and height...", 31)
LINE (78, 72)-(90, 86), 18, BF
LINE (78, 72)-(90, 86), 221, B
PSET (90, 86), 221: DRAW "e7h7bd2br1p221,221"
PSET (78, 86), 221: DRAW "h7e7bd2bl1p221,221"
LINE (118, 72)-(130, 86), 18, BF
LINE (118, 72)-(130, 86), 221, B
PSET (130, 86), 221: DRAW "e7h7bd2br1p221,221"
PSET (118, 86), 221: DRAW "h7e7bd2bl1p221,221"
CALL teksti(103, 81, "X", 221)
LINE (161, 74)-(201, 84), 20, BF
LINE (160, 75)-(200, 85), 26, BF
CALL teksti(175, 81, "OK...", 16)
CALL teksti(174, 82, "OK...", 31)
leveys = 15
korkeus = 15
newongelma:
IF leveys < 1 THEN leveys = 1
IF korkeus < 1 THEN korkeus = 1
IF leveys > 30 THEN leveys = 30
IF korkeus > 30 THEN korkeus = 30
LINE (78, 72)-(90, 86), 18, BF
LINE (78, 72)-(90, 86), 221, B
LINE (118, 72)-(130, 86), 18, BF
LINE (118, 72)-(130, 86), 221, B
CALL teksti(79, 81, STR$(leveys), 31)
CALL teksti(119, 81, STR$(korkeus), 31)
DO
hiiri
'*******leveys********
IF mouse%(4) <> 0 AND mouse%(0) >= 71 AND mouse%(0) <= 78 AND mouse%(1) >= 72 AND mouse%(1) <= 86 THEN
CALL mmcursoroff
leveys = leveys - 1
GOTO newongelma
END IF
IF mouse%(4) <> 0 AND mouse%(0) >= 90 AND mouse%(0) <= 97 AND mouse%(1) >= 72 AND mouse%(1) <= 86 THEN
CALL mmcursoroff
leveys = leveys + 1
GOTO newongelma
END IF
'*******korkeus********
IF mouse%(4) <> 0 AND mouse%(0) >= 111 AND mouse%(0) <= 118 AND mouse%(1) >= 72 AND mouse%(1) <= 86 THEN
CALL mmcursoroff
korkeus = korkeus - 1
GOTO newongelma
END IF
IF mouse%(4) <> 0 AND mouse%(0) >= 130 AND mouse%(0) <= 137 AND mouse%(1) >= 72 AND mouse%(1) <= 86 THEN
CALL mmcursoroff
korkeus = korkeus + 1
GOTO newongelma
END IF
IF mouse%(4) <> 0 AND mouse%(0) >= 160 AND mouse%(0) <= 200 AND mouse%(1) >= 75 AND mouse%(1) <= 85 THEN
CALL mmcursoroff
FILENAME$ = "Untitled.ROM"
GOTO alku
END IF
IF INKEY$ = CHR$(13) THEN
FILENAME$ = "Untitled.ROM"
GOTO alku
END IF
LOOP
SUB allcolors
LINE (240, 78)-(317, 197), 16, BF
vari = 0
FOR a = 77 TO 193 STEP 6
FOR i = 239 TO 311 STEP 6
LINE (i, a)-(i + 5, a + 5), vari, BF
vari = vari + 1
IF vari = 248 THEN vari = 0
NEXT i
NEXT a
END SUB
SUB colornumber (vari1, vari2) STATIC
LINE (302, 35)-(318, 60), 0, BF
CALL teksti(302, 43, STR$(vari1), 31)
CALL teksti(302, 55, STR$(vari2), 31)
END SUB
SUB drawcolorboxes STATIC
a = 0
FOR i = 70 TO 157 STEP 10
LINE (206, i)-(234, i + 10), colors(a), BF
LINE (206, i)-(234, i + 10), 26, B
a = a + 1
NEXT i
END SUB
SUB drawcolors (vari1, vari2)
LINE (206, 39)-(236, 59), vari2, BF
LINE (204, 24)-(234, 44), vari1, BF
END SUB
SUB drawlabel
LINE (214, 6)-(314, 16), 0, BF
LINE (214, 6)-(314, 16), 225, B
END SUB
SUB frame
LINE (1, 1)-(201, 199), 25, BF
LINE (0, 0)-(200, 198), 221, BF
LINE (203, 1)-(319, 199), 25, BF
LINE (202, 0)-(318, 198), 241, BF
LINE (241, 19)-(286, 63), 9, B
LINE (240, 18)-(285, 62), 30, B
LINE (241, 19)-(284, 61), 0, BF
LOCATE 4, 32: PRINT "NEW"
LOCATE 5, 32: PRINT "SAVE"
LOCATE 6, 32: PRINT "LOAD"
LOCATE 7, 32: PRINT "QUIT"
END SUB
SUB hiiri STATIC
CALL mmcursoron
CALL mmclick(mouse%(4), mouse%(5))
CALL mmbutton(mouse%(2), mouse%(3))
CALL mmgetloc(mouse%(0), mouse%(1))
mouse%(0) = CINT(mouse%(0) / 2)
END SUB
SUB tauko
DO: LOOP WHILE INKEY$ = ""
END SUB
SUB teksti (xxx, yyy, nimi$, vari)
a$ = "u2e1u1r1d1f1d2br2"
B$ = "u4r2f1g1f1g1l2br5"
c$ = "u4r3l3d4r3br2"
d$ = "u4r1f1d2g1l1br4"
e$ = "u4r3l3d2r2l2d2r3br2"
f$ = "u4r3l3d2r2bd2br3"
g$ = "u4r3l3d4r3u1bd1br2"
h$ = "u4d2r2u2d4br2"
i$ = "u4bd4br2"
j$ = "r1u4br2bd4"
k$ = "u4d2r1e1u1g1d2f1br2"
l$ = "u4d4r3br2"
m$ = "u4r1f1e1r1d4br2"
n$ = "u4f3u3d4br2"
o$ = "u4r3d4l3br5"
p$ = "u4r3d2l3br5bd2"
q$ = "u4r3d4l3br2d1bu1br3"
r$ = "u4r3d2l3r2d1f1br2"
s$ = "r3u2l3u2r3br2bd4"
t$ = "br1u4l1r2br2bd4"
u$ = "u4d4r3u4br2bd4"
v$ = "bu4d2f1d1r1u1e1u2br2bd4"
w$ = "u4d4r1e1f1r1u4br2bd4"
x$ = "u1e2u1bl2d1f2d1br2"
y$ = "u2h1u1d1f1e1u1br2bd4"
z$ = "r3l3u1e2u1l3br5bd4"
a1$ = "u4g1e1br2bd4"
a2$ = "r3l3e3h1l1g1br5bd3"
a3$ = "r1e1h1e1h1l1br4bd4"
a4$ = "br2u2r1l3e2br3bd4"
a5$ = "r2e1h1l2u2r3br2bd4"
a6$ = "u4r3l3d4r3u2l3br5bd2"
a7$ = "br2u2e1u1l3br5bd4"
a8$ = "u4r3d4l3u2r3bd2br2"
a9$ = "r3u4l3d2r3br2bd2"
a0$ = "u4r3d4l3br5"
aa$ = "bu3u1br2d1bd3br2"
piste$ = "u1d1br2"
PSET (xxx, yyy), POINT(xxx, yyy)
DRAW "c" + STR$(vari)
nimi$ = LCASE$(nimi$)
etu2 = 0
etu = LEN(nimi$)
DO UNTIL etu2 = etu
etu2 = etu2 + 1
etu$ = MID$(nimi$, etu2, 1)
IF etu$ = "a" THEN DRAW a$
IF etu$ = "b" THEN DRAW B$
IF etu$ = "c" THEN DRAW c$
IF etu$ = "d" THEN DRAW d$
IF etu$ = "e" THEN DRAW e$
IF etu$ = "f" THEN DRAW f$
IF etu$ = "g" THEN DRAW g$
IF etu$ = "h" THEN DRAW h$
IF etu$ = "i" THEN DRAW i$
IF etu$ = "j" THEN DRAW j$
IF etu$ = "k" THEN DRAW k$
IF etu$ = "l" THEN DRAW l$
IF etu$ = "m" THEN DRAW m$
IF etu$ = "n" THEN DRAW n$
IF etu$ = "o" THEN DRAW o$
IF etu$ = "p" THEN DRAW p$
IF etu$ = "q" THEN DRAW q$
IF etu$ = "r" THEN DRAW r$
IF etu$ = "s" THEN DRAW s$
IF etu$ = "t" THEN DRAW t$
IF etu$ = "u" THEN DRAW u$
IF etu$ = "v" THEN DRAW v$
IF etu$ = "w" THEN DRAW w$
IF etu$ = "x" THEN DRAW x$
IF etu$ = "y" THEN DRAW y$
IF etu$ = "z" THEN DRAW z$
IF etu$ = "1" THEN DRAW a1$
IF etu$ = "2" THEN DRAW a2$
IF etu$ = "3" THEN DRAW a3$
IF etu$ = "4" THEN DRAW a4$
IF etu$ = "5" THEN DRAW a5$
IF etu$ = "6" THEN DRAW a6$
IF etu$ = "7" THEN DRAW a7$
IF etu$ = "8" THEN DRAW a8$
IF etu$ = "9" THEN DRAW a9$
IF etu$ = "0" THEN DRAW a0$
IF etu$ = " " THEN DRAW "br2"
IF etu$ = "-" THEN DRAW "bu2r2bd2br2"
IF etu$ = "." THEN DRAW piste$
LOOP
END SUB