IS-BASIC trükkök
Contents
Basic program gyorsítása
- Várakozás kikapcsolása: OUT 191,12 visszakapcsolása: OUT 191,4
- Megszakítások kikapcsolása: POKE 56,201, visszakapcsolása: POKE 56,245
LOCK üzemmódok
- SET 6,0 - normál üzemmód
- SET 6,1 - CAPS üzemmód
- SET 6,2 - SHIFT üzemmód
- SET 6,8 - ALT üzemmód
SET cuccok
- SET 8,0 - SET INTERRUPT STOP ON
- SET 8,1 - SET INTERRUPT STOP OFF
- SET 11 = SET KEY DELAY
- SET 26,1 = SET STATUS OFF
- SET 26,0 = SET STATUS ON
A JOY(n) függvény értékei
- 1 = jobbra CHR$(188) BC
- 2 = balra CHR$(184) B8
- 4 = le CHR$(180) B4
- 8 = fel CHR$(176) B0
- SHIFT + jobbra - CHR$(189)
- CTRL + jobbra - CHR$(190)
- ALT + jobbra - CHR$(191)
Karakterek, billentyűparancsok és kódjaik
- CTRL + a-z - CHR$(1-26)
- CTRL + [ - CHR$(27) ( = ESC)
- CTRL + \ - CHR$(28)
- CTRL + ] - CHR$(29)
- CTRL + ^ - CHR$(30)
- CTRL + 0 - CHR$(31)
- STOP - CHR$(3)
- TAB - CHR$(9)
- ENTER - CHR$(13)
- ESC - CHR$(27)
- space - CHR$(32)
- A-Z CHR$(65)-CHR$(90)
- a-z CHR$(97)-CHR$(122)
- ALT + gombok - CHR$(128)-CHR$(159)
- DEL - CHR$(160)
- SHIFT + DEL - CHR$(161)
- CTRL + DEL - CHR$(162)
- ALT + DEL - CHR$(163)
- ERASE - CHR$(164)
- SHIFT + ERASE - CHR$(165)
- CTRL + ERASE - CHR$(166)
- ALT + ERASE - CHR$(167)
- INS - CHR$(168)
Erase, del, ins: SHIFT-tel +1, CTRL-lel +2, ALT-tal +3 a CHR$ kódja
- CTRL + F1-F8 - CHR$(240-247)
- ALT + F1-F8 - CHR$(248-255)
Karakterek és kódjaik
Ep128.hu: Language extensions, kódtáblázat angol, német, stb. karakterkészlethez.
Videolapokkal trükkök
Kurzor kikapcsolása a videolapon: PRINT #csat:CHR$(27);"o" (kicsi "o")
Kurzor visszakapcsolása a videolapon: PRINT #csat:CHR$(27);"O" (nagy "O")
Videolap (ideiglenes) eltávolítása a képernyőről
FROM-ot 0-val kell kezdeni:
DISPLAY #n:AT x FROM 0 to y
Ez az x sortól kezdve y+1 sort leszed a képernyőről, keret lesz ott. (Tehát ha FROM 0 TO 0 akkor 1 sort, ha FROM 0 TO 1 akkor 2 sort, stb)
Géptípusok detektálása
Német / angol gép detektálása
ASK 144 A - Német gépnél 0 az értéke. Angol gépnél a változó nem létezik, hibát okoz.
Van-e EXDOS a gépben? (Lemezről tölt-e?)
ASK 3 A
EP64 vagy EP128?
IF IN(176)=252 THEN akkor EP64 van.
IF IN(176)<=248 THEN akkor EP128 van.
Vagy még: VER$ és VERNUM változóból kikövetkeztethető.
Statusquo
Status sor lentre
SPOKE 255,15026,12
12 helyett 2 és 45 közötti értéket is megadhatunk, így vízszintesen bejjebb vagy kijjebb fog kezdődni a status sor.
SET STATUS
- SET 26,1 = SET STATUS OFF
- SET 26,0 = SET STATUS ON
Reset
Egy reset is újraindítja a gépet: SPOKE 255,49144,0: SPOKE 255,49145,0 (vagy mégsem? Ez hatáReset!)
Karakterkészlet kimentése és betöltése
Mentés:
1 ALLOCATE 9 2 CODE MENT=HEX$("3E,01,01,80,04") 3 CODE =HEX$("EB,F7,08,C9") 4 LET FONT=(SPEEK(255,16372)+SPEEK(255,16373)*256)-1152 5 OPEN #1:"CHRSET.BIN" ACCESS OUTPUT 6 CALL USR(MENT,FONT) 7 CLOSE #1
Töltés: ugyanez, csak a 3-as sorba 08 helyett 06 kell, (2-es és 6-os sorba MENT helyett TOLT), 5-ös sorba OUTPUT helyett INPUT.
Jótanácsok
- Tokenizálatlan programot (txt fájlból) a load-dal töltsünk be! Ha a START-tal töltjük be, elromolhatnak dolgok a programban. (Pl. Xorgame 2 - hatalmas számokra írta át a videolapok méretét.)