Difference between revisions of "IS-BASIC trükkök"
(12 intermediate revisions by 2 users not shown) | |||
Line 28: | Line 28: | ||
* 4 = le CHR$(180) B4 | * 4 = le CHR$(180) B4 | ||
* 8 = fel CHR$(176) B0 | * 8 = fel CHR$(176) B0 | ||
+ | |||
+ | * SHIFT + jobbra - CHR$(189) | ||
+ | * CTRL + jobbra - CHR$(190) | ||
+ | * ALT + jobbra - CHR$(191) | ||
== Karakterek, billentyűparancsok és kódjaik == | == 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$(65)-CHR$(90) | ||
* a-z CHR$(97)-CHR$(122) | * a-z CHR$(97)-CHR$(122) | ||
+ | * ALT + gombok - CHR$(128)-CHR$(159) | ||
+ | |||
+ | |||
* DEL - CHR$(160) | * DEL - CHR$(160) | ||
− | * | + | * SHIFT + DEL - CHR$(161) |
+ | * CTRL + DEL - CHR$(162) | ||
+ | * ALT + DEL - CHR$(163) | ||
+ | |||
+ | |||
* ERASE - CHR$(164) | * 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 === | ||
+ | [http://www.ep128.hu/Ep_Util/Brd.htm 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 == | == Statusquo == | ||
Line 52: | Line 124: | ||
== Reset == | == Reset == | ||
− | Egy reset is újraindítja a gépet: SPOKE 255,49144,0: SPOKE 255,49145,0 (vagy mégsem?) | + | 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: | ||
+ | |||
+ | <pre> | ||
+ | 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 | ||
+ | </pre> | ||
+ | |||
+ | 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.) |
Revision as of 15:53, 15 January 2021
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.)