home *** CD-ROM | disk | FTP | other *** search
/ 64'er / 64ER_CD.iso / 86xx / 8605.d64 / hypra-basic (.txt) < prev    next >
Commodore BASIC  |  1995-03-30  |  6KB  |  190 lines

  1. 5 IFFG<>0THEN10
  2. 7 FG=1:LOAD"BASIC .ASS",8,1
  3. 10 DIMA%(100):AN=1:MD=1:POKE53280,0:POKE53281,0:F=1:POKE646,F:MP=12600
  4. 15 POKE55,56:POKE56,49
  5. 20 HL$="                                       "
  6. 30 H$="[192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]"
  7. 40 REM****HAUPTMENUE*******
  8. 50 PRINTCHR$(147)TAB(9)" HAUPTMENUE [146] HYPRA-BASIC":PRINTH$:AN=1:MD=1
  9. 60 PRINT"FOLGENDE OPTIONEN SIND MOEGLICH:":PRINTH$:PRINT
  10. 70 PRINTTAB(5)"[F1][146] ERWEITERUNG ERSTELLEN
  11. 80 [153][163]5)"[F3]WAIT ERWEITERUNG ABSPEICHERN
  12. 90 PRINTTAB(5)"[F5][146] PARAMETER EINGEBEN
  13. 100 [153][163]5)"[F7]WAIT PARAMETER ANZEIGEN"
  14. 110 [153][163]5)"[F2]WAIT PROTOKOLL":[153]:[153]H$
  15. 115 [153][163]10)"BITTE WAEHLEN SIE !!"
  16. 120 [151]198,0:[146]198,1:[161]S$:S[178][198](S$)
  17. 130 [139]S[179]133[176]S[177]137[167]120
  18. 140 S[178]S[171]132
  19. 150 [145]S[141]210,410,600,800,11000
  20. 160 [137]50
  21. 200 [143]*****ERWEITERUNGERSTELLEN***
  22. 210 [141]1010
  23. 220 [151]211,8:[151]214,0:[158]58640:[153]"SIND SIE SICHER ? (J/N)"
  24. 230 [151]198,0:[146]198,1:[161]S$:[139]S$[179][177]"J"[176]AN[178]0[167][142]
  25. 240 [141]10010
  26. 250 [153][199](147)"SIE MUESSEN JETZT ZWEI SPEICHERBEREICHE"
  27. 260 [153]"AUSWAEHLENEN":[153]:[153]"1) BEREICH FUER BEFEHLSTABELLE.DIESER"
  28. 270 [153][163]3)"DARF NUR IM 'NORMALEN RAM' LIEGEN.
  29. 280 PRINT:PRINT"2) BEREICH FUER DIE ERWEITERUNG.HIER
  30. 290 [153][163]3)"IST DER SPEICHERBEREICH BELIEBIG.":[153]
  31. 292 [153]"FALLS BEIDE PROGRAMMTEILE NACHEINANDER"
  32. 293 [153]"STEHEN SOLLEN,BITTE BEI 'BEFEHLE' NUR"
  33. 294 [153]"<RETURN> DRUECKEN.":[153]H$
  34. 295 [153]"DIE BEFEHLSTABELLE BRAUCHT";HG" BYTES":[153]H$
  35. 300 [133]"1) TABELLE:";SD$:SD[178][197](SD$):[139]SD[178]0[167]250
  36. 305 [153][163]12)SD[170]HG
  37. 310 [133]"ON2) BEFEHLE:";MA$:MA[178][197](MA$):MS[178]MA
  38. 320 [139]MA[178]0[167][142]
  39. 330 [153][199](147)"ERWEITERUNG WIRD GENERIERT":[153]
  40. 340 LA[178]SD[170]162[170]HA:[141]10410
  41. 350 [129]KI[178]1[164]AN:MO%[178]A%(KI):[153]MO%,
  42. 360 HM[178][181](MO%[173]70)[170]1:[139]MD[179][177]HM[167][141]10210
  43. 370 [141]10660:[130]:[142]
  44. 400 [143]*****PROGRAMMABSPEICHERN**
  45. 410 [153][199](147)[163]10)"ERWEITERUNG SPEICHERN":[153]H$
  46. 420 [153]"BEIM ABSPEICHERN KOENNEN ZWEI VERSCHIE- DENE";
  47. 430 [153]" FILES ABGELEGT WERDEN.":[153]
  48. 440 [153]"1) BEFEHLSTABELLE"
  49. 450 [153]"2) MODULE":[153]
  50. 460 [153]"DIES IST ERFORDERLICH,WENN BEIDE PRO-"
  51. 470 [153]"GRAMMTEILE UNABHAENGIG VONEINANDER
  52. 480 PRINT"EXISTIEREN. FALLS SIE BEIDE PROGRAMME"
  53. 490 PRINT"GEMEINSAM GENERIERT HABEN, GEBEN SIE UN-";
  54. 500 PRINT"TER MODULE EINEN LEERSTRING EIN.":PRINTH$
  55. 510 INPUT"TABELLE:";NA$
  56. 520 INPUT"BEFEHLE:";NB$:PRINTH$
  57. 525 PRINT"SIND SIE SICHER,DASS DIE RICHTIGE DIS- "
  58. 527 PRINT"KETTE IM LAUFWERK IST? (J/N)"
  59. 528 POKE198,0:WAIT198,1:GETA$:IFA$="N"THENRETURN
  60. 530 IFNB$=""THENSYS(MP+362)"@:"+NA$,8,SD,MA+1:RETURN
  61. 540 SYS(MP+362)"@:"+NA$,8,SD,BT+1
  62. 550 SYS(MP+229)MS,MA+1,MP+2000
  63. 560 CLOSE1:OPEN1,8,1,"@:"+NB$:PRINT#1,CHR$(MS-INT(MS/256)*256);CHR$(MS/256);
  64. 570 N=MA+1-MS
  65. 580 FORI=0TON-1:PRINT#1,CHR$(PEEK(MP+2000+I));:NEXT:CLOSE1
  66. 590 RETURN
  67. 600 REM*******PARAMETEREINGEBEN***
  68. 610 PRINTCHR$(147)TAB(10)"PARAMETER EINGEBEN":PRINTH$
  69. 615 INPUT"MODULNUMMER     :";MO$
  70. 620 INPUT"WIEVIELE BEFEHLE:";AB
  71. 630 PRINTH$
  72. 640 FORI=1TOAB
  73. 650 POKE211,0:POKE214,5:SYS58640:PRINTI"[157]) ";:INPUT"NAME:";NA$(I):PRINTH$
  74. 660 INPUT"    STARTADRESSE:";AS$(I)
  75. 670 INPUT"    ENDADRESSE  :";AE$(I)
  76. 680 INPUT"    DATENBYTES  :";AD$(I)
  77. 690 PRINTH$:NEXT
  78. 700 PRINTTAB(10)"SIND SIE SICHER (J/N)"
  79. 710 POKE198,0:WAIT198,1:GETA$:IFA$="N"THENRETURN
  80. 720 CLOSE1:OPEN1,8,1,"@:"+MO$+"MODUL,S"
  81. 730 PRINT#1,STR$(AB)
  82. 740 FORI=1TOAB:PRINT#1,NA$(I):PRINT#1,AS$(I):PRINT#1,AE$(I):PRINT#1,AD$(I)
  83. 750 NEXT:CLOSE1:RETURN
  84. 800 REM******PARAMETERANZEIGEN****
  85. 810 PRINTCHR$(147)TAB(10)"PARAMETER ANZEIGEN":PRINTH$
  86. 820 INPUT"VON MODULNUMMER:";M1
  87. 830 INPUT"BIS MODULNUMMER:";M2:PRINTH$
  88. 840 FORK=M1TOM2:POKE214,5:SYS58640
  89. 845 FORI=1TO15:PRINTHL$:NEXT
  90. 850 POKE211,0:POKE214,5:SYS58640
  91. 860 MO%=K:GOSUB10530:PRINT"MODULNUMMER:"K:PRINT"ANZAHL DER BEFEHLE:"AB:PRINTH$
  92. 870 FORI=1TOAB
  93. 880 POKE214,9:SYS58640:PRINTI"[157]) NAME:"NA$(I);LEFT$(HL$,10):PRINT
  94. 890 PRINT"STARTADRESSE:"AS(I);LEFT$(HL$,10)
  95. 900 PRINT"ENDADRESSE  :"AE(I);LEFT$(HL$,10)
  96. 910 PRINT"DATENBYTES  :"AD(I);LEFT$(HL$,10)
  97. 930 PRINTH$:PRINTTAB(6)"WEITER MIT BELIEBIGER TASTE"
  98. 940 POKE198,0:WAIT198,1:NEXT:NEXT:RETURN
  99. 999 END
  100. 1000 REM*****MODULEAUSWAEHLEN*****
  101. 1010 PRINTCHR$(147)TAB(10)"MODULE AUSWAEHLEN!"
  102. 1020 PRINTH$
  103. 1040 PRINT"BITTE MODULNUMMERN EINGEBEN:"
  104. 1050 PRINTH$
  105. 1060 FORI=1TO19:PRINTHL$:NEXT
  106. 1070 PRINTH$:PRINTTAB(5)" E [146] = ENDE          F [146] = FEHLER";
  107. 1080 POKE211,30:POKE214,2:SYS58640:POKE19,1:INPUTMN$:POKE19,0:PRINT
  108. 1090 IFLEFT$(MN$,1)="E"THENAN=AN-1:RETURN
  109. 1100 IFLEFT$(MN$,1)="F"ANDAN>1THENAN=AN-1:MN$="   ":GOTO1130
  110. 1110 IFLEN(MN$)>3ORVAL(MN$)=0THEN1080
  111. 1120 A%(AN)=VAL(MN$)
  112. 1130 Z=INT(AN/10)+4:S=(AN-(Z-4)*10)*4:POKE211,S:POKE214,Z:SYS58640:PRINTMN$
  113. 1150 IFMN$<>"   "THENAN=AN+1
  114. 1160 GOTO1080
  115. 10000 REM****LAENGEDECODEBESTIMMEN*
  116. 10010 HG=0:HA=0:AB=0:ZB=0:FORJI=1TOAN
  117. 10015 HM=INT(A%(JI)/70)+1:IFHM<>MDTHENGOSUB10210
  118. 10020 CLOSE1:OPEN1,8,0,MID$(STR$(A%(JI)),2,4)+"MODUL,S"
  119. 10030 INPUT#1,A$:H=VAL(A$):ZB=ZB+H
  120. 10040 FORJ=1TOH
  121. 10050 INPUT#1,H1$,H2$(J),H3$(J),H4$(J):HA=HA+LEN(H1$)+6
  122. 10060 NEXT
  123. 10070 HB=(VAL(H3$(H))+VAL(H4$(H)))-VAL(H2$(1)):IFHB>HGTHENHG=HB
  124. 10090 CLOSE1:NEXT
  125. 10100 HG=INT((HG/256)+1)*256:HG=HG+HA+170:RETURN
  126. 10200 REM****MODULDISKAUSGEBEN****
  127. 10210 H1=PEEK(211):H2=PEEK(214)
  128. 10212 FORX=1984TO2023:POKEX-1156,PEEK(X):POKEX,32:X1=X1+1:NEXT
  129. 10215 POKE211,0:POKE214,24:SYS58640
  130. 10220 PRINTTAB(3)"[152]BITTE MODULDISK NR."HM" EINLEGEN! ";
  131. 10230 MD=HM:POKE646,F:POKE198,0:WAIT198,1
  132. 10240 FORX=1984TO2023:POKEX,PEEK(X-1156):POKEX+54272,F:NEXT:POKE211,H1
  133. 10250 POKE214,H2:SYS58640:RETURN
  134. 10300 REM******PROGRAMMLADEN*****
  135. 10310 HI=INT(LA/256):LO=LA-256*HI
  136. 10330 SYS(57812)NA$,8,0:POKE780,0:POKE781,LO:POKE782,HI:SYS65493
  137. 10340 RETURN
  138. 10400 REM******DECODEROUTINEHOLEN**
  139. 10410 H=LA:LA=SD:SYS(MP+229)13025,13184,SD
  140. 10430 LA=H:H=SD+11:HI=INT(H/256):LO=H-256*HI:POKESD+1,LO:POKESD+6,HI
  141. 10440 H=SD+161:HI=INT(H/256):LO=H-256*HI:POKESD+25,LO:POKESD+29,HI
  142. 10460 HI=INT(LA/256):LO=LA-256*HI:POKESD+103,LO:POKESD+107,HI
  143. 10470 POKELA-1,0:BT=SD+161:RETURN
  144. 10500 REM*****PARAMETERLADEN*****
  145. 10530 FL$=MID$(STR$(MO%)+"MODUL,S,R",2,13)
  146. 10540 CLOSE2:OPEN2,8,2,FL$
  147. 10550 INPUT#2,A$:AB=VAL(A$)
  148. 10560 FORJI=1TOAB:INPUT#2,NA$(JI):INPUT#2,A$:AS(JI)=VAL(A$)
  149. 10570 INPUT#2,A$:AE(JI)=VAL(A$)
  150. 10580 INPUT#2,A$:AD(JI)=VAL(A$)
  151. 10590 NEXT
  152. 10600 CLOSE2:RETURN
  153. 10610 REM****BEFEHLSTABELLEBEARBEITEN**
  154. 10615 YY=LEN(NA$(I)):POKEBT,YY
  155. 10620 FORK=1TOYY:POKEBT+K,ASC(MID$(NA$(I),K,1)):NEXT:BT=BT+K
  156. 10630 HI=INT(PZ/256):LO=PZ-256*HI:POKEBT,LO:POKEBT+1,HI
  157. 10635 HI=INT(MA/256):LO=MA-256*HI:POKEBT+2,LO:POKEBT+3,HI
  158. 10636 LE=AE(AB)+AD(AB)-AS(1):POKEBT+4,INT(LE/256):BT=BT+5
  159. 10640 RETURN
  160. 10650 REM**********VERSCHIEB**********
  161. 10660 GOSUB10530:A$=STR$(MO%)+"ERW .ASS":NA$=MID$(A$,2,13):GOSUB10310:PZ=LA
  162. 10670 N1=PZ:FORI=1TOAB:GOSUB10610:N=AS(I)
  163. 10680 SYSMP,PZ:A=PEEK(247)
  164. 10690 IFA<>3THEN10740
  165. 10700 A1=PEEK(249)+256*PEEK(250)
  166. 10710 IFA1<AS(1)ORA1>AE(AB)+AD(AB)THEN10750
  167. 10720 A1=A1-AS(1):A1=N1+A1:HI=INT(A1/256):LO=A1-256*HI
  168. 10730 POKEPZ+1,LO:POKEPZ+2,HI
  169. 10740 IFA=0THENA=1
  170. 10750 PZ=PZ+A:N=N+A:IFN<>AE(I)+1THEN10680
  171. 10760 PZ=PZ+AD(I):NEXT
  172. 10770 SYS(MP+229)LA,PZ,MA
  173. 10780 MA=MA+LE+1:RETURN
  174. 11000 REM******PROTOKOLL********
  175. 11010 PRINTCHR$(147)TAB(12)"PROTOKOLL":PRINTH$
  176. 11020 GN=3
  177. 11025 CLOSE1:OPEN1,GN
  178. 11030 PRINT#1,"ERWEITERUNG HYPRA-BASIC VERSION 1.1":PRINT#1,H$
  179. 11040 PRINT#1,"ANZAHL DER BEFEHLE:         ";ZB
  180. 11050 PRINT#1,"STARTADRESSE BEFEHLSTABELLE:";SD
  181. 11060 PRINT#1,"STARTADRESSE DER MODULE:    ";MS:PRINT#1,H$
  182. 11070 PRINT#1,"BYTES FUER TABELLE:         ";HG
  183. 11080 PRINT#1,"BYTES FUER BEFEHLE:         ";MA-MS:PRINT#1,H$
  184. 11082 PRINT#1,"DIE ERWEITERUNG ENTHAELT FOLGENDE MODULE":PRINT#1
  185. 11085 FORI=1TOKI-1:PRINT#1,A%(I);:NEXT:PRINT#1
  186. 11090 IFFK=1THENFK=0:GN=3:CLOSE1:RETURN
  187. 11100 PRINT#1,H$:PRINT#1,"  AUSGABE AUF DRUCKER (J/N)"
  188. 11110 POKE198,0:WAIT198,1:GETA$:IFA$="N"THENCLOSE1:RETURN
  189. 11120 GN=4:FK=1:CLOSE1:GOTO11025
  190.