100 : ::::::::::::::::::::: 110 PRINT #0;, " BOOT F§R S-HERMES" 120 PRINT #0;, " MIT DEMO" 130 : ::::::::::::::::::::: 140 : 150 REMark SHerm_DEMO_bas V 1.0 160 : 170 : 180 REMark F. Oertel 190 REMark 9/96 200 : 210 INK#0; 7 : CLS : CLS#0 220 BEEP 10000,10000 230 : 240 TK2_EXT 250 : 260 WTV 8 270 LRESPR 'flp1_ipcextde_bin' 280 : 290 PRINT'SuperHermes extensions loaded' 300 : 310 LRESPR flp1_KBD 320 : 330 BEEP 10000,1000 340 : 350 v$=IPCVER$ 360 PRINT " IPCVER$ = "; v$ 370 : 380 IF v$(1)='3' 390 IPCENABLE 2:IPCENABLE 3:IPCENABLE 5:IPCENABLE 6 400 : 410 IPCENABLE 5 : REMark F§R 37 000 ZEICHEN / SEC -> MODEM : EXTERNE INTERRUPTS ENABLEN 420 PRINT "IPC ENABLED" 430 : 440 LRESPR FLP1_PTR_GEN 450 LRESPR FLP1_WMAN 460 LRESPR FLP1_HOT_REXT 470 HOT_GO 480 PRINT "POINTER AKTIVIERT" 490 : 500 : 510 PRINT "MAUS AKTIVIERT" 520 IPCMOUSE 530 OPEN#3,'ser2\3 b19.2k u500k p u8k':CLOSE#3 540 : 550 PRINT "To use 'ser2' redirected to 'ser3' for fastest downloading"\" (see p7) --- or 38.4k for V34 modems etc" 560 : 570 PAUSE 200 580 : 590 EX FLP1_QRAM 600 : 610 END IF 620 : 630 PAUSE 500 640 : 650 DEMO 660 : 670 ::::::::::::::::::::::: 680 DEFine PROCedure DEMO 690 ::::::::::::::::::::::: 700 : 710 CLS#0 720 CLS 730 PRINT; " =====================" 740 PRINT ; " - Super-Hermes-Demo -" 750 PRINT; " =====================" 760 PRINT#0;\ " - Super-Hermes-Demo -" 770 BEEP 10000,300 780 PAUSE 100 790 : 800 PRINT \"MS-Maus: -" 810 PRINT \"Defaultport f‡r Maus ???" 820 PRINT \"Keyboard: Nur MF3 - ab '89!"\" - z.B. PHI." 830 PRINT \\"Mit Keylock k„nnen die Tastatur und"\"die Maustasten gesperrt werden."\" Schalter geschlossen :"\" Tasten gesperrt" 840 : 850 PAUSE 500 860 CLS 870 : 880 PRINT \\,"LED - Steuerung:" 890 PRINT \ "Steckerbelegung: "\"Vorderer Pin ist + f‡r LED" 900 PRINT \"LED: IPCEXT 0 - EIN" : IPCEXT 0 : PAUSE 200 910 PRINT \"LED: IPCEXT 1 - AUS" : IPCEXT 1 : PAUSE 200 920 PRINT \"LED: IPCEXT 0 - EIN" : IPCEXT 0 : PAUSE 100 930 PRINT \"LED: IPCEXT 1 - AUS" : IPCEXT 1 : PAUSE 100 940 : 950 CLS 960 PRINT \\"Langsam blinken:" 970 : 980 FOR z = 1 TO 10 990 AT 10,10; 1000 PRINT \"LED: IPCEXT 0 - EIN" : IPCEXT 0 : PAUSE 10 1010 : 1020 AT 10,10 1030 PRINT \"LED: IPCEXT 1 - AUS" : IPCEXT 1 : PAUSE 10 1040 NEXT z 1050 : 1060 PAUSE 60 1070 CLS 1080 : 1090 BEEP 10000,10000 1100 PRINT \\\\,"Schnell blinken:" 1110 : 1120 FOR z = 1 TO 20 1130 IPCEXT 0 1140 AT 10,10 1150 PRINT ,0 1160 : 1170 IPCEXT 1 1180 AT 10,10 1190 PRINT ,1 1200 NEXT z 1210 : 1220 BEEP 10000,10000 1230 : 1240 PAUSE 50 1250 PAUSE 100 1260 : 1270 PRINT \\,"Noch schneller: " 1280 BEEP 5000,5000 1290 : 1300 FOR z = 1 TO 500 1310 IPCEXT 0 1320 IPCEXT 1 1330 NEXT z 1340 : 1350 BEEP 5000,5000 1360 PRINT \\" Gesehen?"; 1370 PRINT " - Wohl kaum! " 1380 : 1390 : 1400 : 1410 : 1420 PAUSE 200 1430 CLS 1440 : 1450 PRINT \\\\\" ... und nun mit Sound:" 1460 : 1470 FOR i = 10 TO 500 STEP 5 1480 IPCEXT 0 1490 REMark CLS 1500 AT 10,10: PRINT " Beep 500,";i 1510 BEEP 500,i 1520 IPCEXT 1 1530 PAUSE 3 1540 NEXT i 1550 : 1560 IPCEXT 0 : REMark LED EIN 1570 : 1580 CLS 1590 PRINT \\" IPC-Steuerung: "\\" Mit den Tasten CTRL ALT ESC & ..." 1600 PRINT\ " Aber: Tastatur-Reset geht nicht!" 1610 : 1620 PAUSE 200 1630 : 1640 PRINT\\ "Tastenklick EIN: CTRL ALT ESC & 4" \"oder IPCEXT 7 "\" Handbuchfehler !" 1650 IPCEXT 7 1660 INPUT\\ "Geben Sie z.B. die Zahlen "\" 1 bis 5 ein, dann RETURN: ";a$ 1670 : 1680 : 1690 PRINT\\ "Tastenklick aus: CTRL ALT ESC & 5"\"oder IPCEXT 6 " 1700 IPCEXT 6 1710 INPUT "Geben Sie z.B. die Zahlen "\" 1 bis 5 ein, dann RETURN: ";a$ 1720 : 1730 PRINT \\" ... und nun wieder Tastenklick:" : IPCEXT 7 1740 : 1750 PAUSE 100 1760 CLS 1770 PRINT "Maus einschalten auf Port 4-6:"\" Hier IPCMOUSE 6" 1780 IPCMOUSE 6 1790 PAUSE 100 1800 : 1810 PRINT \\"Maus AUSschalten IPCMOUSE -1" 1820 PAUSE 100 1830 : 1840 PRINT \\"Maustasten links belegen: "\"SPACE -> IPCSTUFF -1,' '" 1850 IPCSTUFF -1,CHR$(32) 1860 : 1870 PRINT \\"Maustasten Mitte belegen: "\"ESC -> IPCSTUFF 0,CHR$(27) = ESC" 1880 IPCSTUFF 0, CHR$(27) 1890 : 1900 PRINT \\"Maustaste rechts belegen: "\"RETURN -> IPCSTUFF 1,CHR$(0) = RETURN" 1910 IPCSTUFF 1,CHR$(0) 1920 : 1930 PAUSE 100 1940 : 1950 CLS 1960 : 1970 PRINT \\\\"Version Ihres S-Hermes: IPCVER$ = "; 1980 a$ = IPCVER$ 1990 PRINT a$ 2000 PAUSE 200 2010 CLS : CLS#0 2020 PRINT \\\"IPCEXT - Kommandos:" 2030 : 2040 PRINT "IPCEXT x" 2050 : 2060 : 2070 PRINT\\ "Zur‡cksetzen aller 3 Ausg€nge -> 0" 2080 PRINT "IPCEXT 2: IPCEXT 4 : IPCEXT 8" 2090 IPCEXT 2: IPCEXT 4 : IPCEXT 8 2100 : 2110 : 2120 PRINT \"... 0 LED an" 2130 PRINT "IPCEXT 0:" 2140 IPCEXT 0 2150 PAUSE 100 2160 : 2170 PRINT \"... 1 LED aus" 2180 PRINT "IPCEXT 1:" 2190 IPCEXT 1 2200 PAUSE 100 2210 : 2220 : 2230 CLS 2240 : 2250 : 2260 PRINT\\\" Port 6 :'SPARE - Ausg€nge: " 2270 :: 2280 :: 2290 PRINT\\\\\" Port 6 :'SPARE A' LOW: " 2300 PRINT " IPCEXT 2 " 2310 IPCEXT 2 2320 : 2330 PAUSE 30 2340 : 2350 PRINT\\" Port 6 :'SPARE A' HIGH: " 2360 PRINT " IPCEXT 3 " 2370 IPCEXT 3 2380 PAUSE 100 2390 :: 2400 : 2410 PRINT\\\\\" Port 6 :'SPARE B' LOW: " 2420 PRINT " IPCEXT 4 " 2430 IPCEXT 4 2440 PAUSE 100 2450 : 2460 : 2470 PRINT\\" Port 6 :'SPARE B' HIGH: " 2480 PRINT " IPCEXT 5 " 2490 IPCEXT 5 2500 PAUSE 100 2510 : 2520 PRINT\\\\\\" Port 6 :'SPARE C' LOW: " 2530 PRINT " IPCEXT 8 " 2540 IPCEXT 8 2550 PAUSE 100 2560 : 2570 PRINT\\" Port 6 :'SPARE C' HIGH: " 2580 PRINT " IPCEXT 9 " 2590 IPCEXT 9 2600 PAUSE 200 2610 : 2620 REMark AUSG NGE WIEDER AUF LOW 2630 IPCEXT 2: IPCEXT 4 : IPCEXT 8 2640 : 2650 : 2660 CLS 2670 : 2680 : 2690 : 2700 : 2710 PRINT\\\ "PROGRAMMIEREN DER 3 GLEICHEN 'SPARE- RIPS' ALS EING NGE:" 2720 CLS#0: PRINT #0; " Legen Sie jeden Spare-Eingang auf 0 bzw 5 Volt DC !" 2730 : 2740 : 2750 PRINT " Befehl: IPCSETI 14 (3 x IN" 2760 PAUSE 100 2770 PRINT " Druckfehler Handbuch: IPCISET !" 2780 PAUSE 100 2790 PRINT " Werte f‡r Spare A,B,C: 2,4,8" 2800 PRINT " Werte f‡r gew‡nschte Spares addieren" 2810 : 2820 : 2830 FOR i = 1 TO 5 2840 PRINT #0;\ ,"Durchlauf Nr. ";i 2850 IPCSETI 14 2860 : 2870 PAUSE 100 2880 PRINT " Auslesen der Eingangsspannung: "\" a = IPCSIG%" 2890 a = IPCSIG% 2900 PRINT "Eingangswerte an SPARE A,B,C addiert: "; a 2910 PRINT " z.B. 0 = 0 Volt = LOW an allen 3 Eing€ngen, 2 ist A High, 4 ist B HIGH und 8 ist C HIGH. Alle HIGH: Wert = 14" 2920 PAUSE 100 2930 PRINT\\\ "Eingelesener Bin€rwert: "; a 2940 PRINT \\\"Folgende Eing€nge sind HIGH (5V): "\" "; 2950 IF a = 0 THEN PRINT 0 2960 IF a = 2 THEN PRINT 1 2970 IF a = 4 THEN PRINT 2 2980 IF a = 8 THEN PRINT 3 2990 IF a = 6 THEN PRINT 1,2 3000 IF a = 10 THEN PRINT 1,3 3010 IF a = 12 THEN PRINT 2,3 3020 IF a = 14 THEN PRINT 1,2,3 3030 PRINT 3040 : 3050 BEEP 10000,500 3060 PAUSE 30 3070 PAUSE 300 3080 CLS 3090 CLS#0 3100 NEXT i 3110 : 3120 : 3130 CLS 3140 PRINT \\" IPCDELAY bestimmt die Verlangsamung des QL,"\"nur wenn Turbo ausgeschaltet ist:" 3150 PRINT " Schnell mit IPCDELAY 0 : " \\ 3160 IPCDELAY 0 3170 : 3180 FOR i = 1 TO 407 3190 PRINT "="; 3200 NEXT i 3210 : 3220 BEEP 10000,10000 3230 PAUSE 200 3240 CLS 3250 : 3260 PRINT "Gebremst mit IPCDELAY 255 : "\\ 3270 IPCDELAY 255 3280 : 3290 FOR i = 1 TO 407 3300 PRINT "="; 3310 NEXT i 3320 : 3330 PAUSE 200 3340 CLS 3350 PRINT\\\\,"SER - PORTS / Modem" 3360 PRINT\\ " Externe Interrupts aktiv" 3370 PRINT \," Ipcenable 5" 3380 IPCENABLE 5 3390 : 3400 PRINT \\\"SER2 zum schnelleren SER3 umleiten:" 3410 PRINT \,"Nach Tastendruck" 3420 PAUSE 3430 OPEN#3; "ser2\3 b38.4k u8k p u8k": CLOSE#3 3440 : 3450 PRINT "SER 3 spielt nun SER2" 3460 PAUSE 500 3470 : 3480 : 3490 : 3500 : 3510 : 3520 : 3530 : 3540 : 3550 : 3560 : 3570 PAUSE 200 3580 CLS 3590 PRINT\\\\ " Achtung! Auslieferungszustand des "\" S-Hermes wiederherstellen?" 3600 PAUSE 200 3610 PRINT \,"Alle anderen Daten"\" im IPC-RAM l„schen!!!" 3620 PRINT \\" Wollen Sie das wirklich?"\" (J)a / (N)ein" 3630 : 3640 aa$ = INKEY$(-1) 3650 : 3660 IF aa$ = "n" OR aa$ = "N" THEN GO TO 4080 3670 IF aa$ = "j" OR aa$ = "J" THEN GO TO 3710 3680 GO TO 3640 3690 : 3700 : 3710 CLS 3720 PRINT, "Nach Tastendruck: "\" RESET des IPC-RAMS f‡r SER" 3730 : 3740 REMark SER1 3750 OPEN#3,"serupu": OPEN#3,"seru80b9600h\1r8n2tu80b9600\1r8u2" 3760 : 3770 REMark SER2 3780 OPEN#3,"ser2upu": OPEN#3,"ser2u80b9600h\2r8n2tu80b9600\2r8u2" 3790 : 3800 REMark SER3 3810 OPEN#3,"ser3upu": OPEN#3,"ser3u80b9600h\3r8n2tu80b9600\3r8u2" 3820 : 3830 REMark SER4 3840 OPEN#3,"ser4up": OPEN#3,"ser4u80b1200h\4r8n2t" 3850 : 3860 REMark SER5 3870 OPEN#3,"ser5up": OPEN#3,"ser5u80b1200h\5r8n2t" 3880 : 3890 REMark SER6 3900 OPEN#3,"ser6up": OPEN#3,"ser6u80b1200h\6r8n2t" 3910 CLOSE#3 3920 : 3930 : 3940 : 3950 : 3960 : 3970 : 3980 : 3990 : 4000 : 4010 : 4020 : 4030 : 4040 : 4050 : 4060 : 4070 : 4080 SA 4090 : 4100 ::::::::::::::::::::::: 4110 END DEFine DEMO 4120 ::::::::::::::::::::::: 4130 : 4140 : 4150 : 4160 : 4170 DEFine PROCedure SA 4180 SAVE 'flp1_boot' 4190 SAVE 'WIN1_SHERM_boot2' 4200 SAVE 'WIN1_SHERM_DEMO_bas' 4210 END DEFine SA