2 QA=PEEK(821):ONQAGOTO6,8:PRINT"[147]" 3 PRINTTAB(11)"- HIRESBILDER 01 -" 4 PRINT"[154] BITTE WARTEN -- DATEIEN WERDEN GELADEN" 5 POKE821,1:LOAD"TRAMYSALON01",8,1 6 POKE821,2:LOAD"HIRESGRAFIK03",8,1 8 PRINT"[147]":POKE53280,10:POKE53281,11:POKE646,7:GOSUB11:GOTO110 9 QP=27:OPEN4,4:OPEN5,4,6:CMD4:PRINT#5,CHR$(QP):CLOSE4:CLOSE5:END 11 Q$="HIRESBILDER":QV$="01":QT$=Q$+QV$:QD$="290304":RETURN 12 GOSUB11:PRINT"G-A 8/9?[145]":GETQ:ON-(Q<>8ANDQ<>9)GOTO12:RETURN 14 GOSUB94:PT$=E$+TA$+N5$+TD$:GOTO95:REM -> PR PRG-TITEL RE/OB 18 GOSUB12:PRINT" G-A"Q"[145]":OPEN15,Q,15,"S:"+QT$:CLOSE15:SAVEQT$,Q:END 61 CY=INT(C/100):CX=C-(CY*100) 62 POKE211,CX:POKE214,CY:SYS58640:RETURN 68 LC=INT(L/100):LL=L-(LC*100) 69 FORX=LCTOLL:POKE781,X:SYS59903:NEXT:RETURN 94 E$=CHR$(27):TA$=CHR$(16):N5$=CHR$(1):TD$=CHR$(44):RETURN 95 CLOSE4:OPEN4,4:GOSUB11:REM --PRG-TITELDRUCK RE/OB-- 96 PRINT#4,PT$"*** "QT$" *** "QD$:PRINT"[147]TITEL -> "QT$ 97 PRINT"AUSGEDRUCKT - NOCHMALS? " 98 Q4$="":GETQ4$:ON-(Q4$<>"J"ANDQ4$<>"N")-2*(Q4$="N")GOTO98,99:GOTO96 99 PRINT#4:CLOSE4:END 100 REM ---PROGRAMM-ABLAUF--- 110 GOSUB9002:C=804:GOSUB61:REM TITEL 120 PRINT"[155]BITTE BITMAP-BEREICH AUSWAEHLEN:" 122 PRINTTAB(12)"0[155] = 57344-65343":PRINTTAB(12)"1[155] = 24576-32575" 124 R$="":GETR$:IFR$=""THEN124 126 BR=VAL(R$):IFBR<0ORBR>1THEN124 128 C=1705:GOSUB61:PRINT"[155]DER BEREICH [158]"BR"[155] WURDE GEWAEHLT" 130 REM BASISADRESSEN / UMSCHALTWERTE - BEREICH 0 BEREITS IM PROGRAMM 132 POKE51151,BR: REM BITMAP BEREICHSNUMMER 134 REM POKE51145,0: BANK 3 AB 49152 FUER BEREICH 0 136 POKE51146,2: REM BANK 1 AB 16384 FUER BEREICH 1 138 REM POKE51147,204:BASIS TEXTSPEICHER F FARBEN AB 52224 BEREICH 0 140 POKE51148,68: REM BASIS TEXTSPEICHER F FARBEN AB 17408 BEREICH 1 142 REM POKE51149,224:BITMAP-BASIS AB 57344 BEREICH 0 144 POKE51150,96: REM BITMAP-BASIS AB 24576 BEREICH 1 146 SYS50465,BR:REM BITMAPADRESSEN SETZEN 148 GOSUB9102:ON-(BR=1)GOTO150 149 GOSUB9994:GOTO110 150 GOSUB9002 152 PRINT"[155]Z[155]EICHNEN / A[155]USGABE / H[155]ILFE / E[155]NDE?" 153 R$="":GETR$:IFR$=""THEN153 154 IFR$="Z"THEN9222 155 IFR$="A"THEN202 156 IFR$="H"THEN159 157 IFR$="E"THEN292 158 GOTO150 159 HS=1:GOTO9802 160 REM ---GRAFIK EINSCHALTEN--- 162 POKE53280,FR:REM RAHMENFARBE 164 SYS50545,BR:REM GRAFIK EIN 166 GOTO282 169 RESTORE 170 REM ---GRAFIK-FARBEN FESTLEGEN--- 172 GD=3:PT=0:REM H'GRUND / PUNKTE 174 POKE2,GD:POKE781,PT:REM ZW U X-REG 176 SYS50507:REM QUER IN FARBSUBROUTINE 180 REM HR-BS BILDPUNKTE AUF 0 SETZEN 182 SYS49402,24576,32575,0 199 GOTO500 200 REM ---AUSGABE AUF BS/DISK--- 202 L=824:GOSUB68:C=804:GOSUB61 203 PRINT"[153]AUSGABE AUF BILDSCHIRM ODER DISK" 204 PRINTTAB(7)"[155]GRAFIK ERST LADEN? <J[155]/N[155]>":PS=2 205 R$="":GETR$:IFR$=""THEN205 206 IFR$="J"THEN228 207 IFR$="N"THEN212 208 GOTO205 212 PRINTTAB(5)"AUSGABE AUF B[155]ILDSCHIRM / D[155]ISK?" 213 FR=PEEK(18408) 214 R$="":GETR$:IFR$=""THEN214 216 IFR$="B"THEN162 217 IFR$="D"THEN9262 218 GOTO214 220 REM ---WEITERE ABFRAGE--- 222 GOSUB9242 224 IFR$="L"THEN228 226 IFR$="G"THEN342 228 GOSUB9302 230 IFEN<>0THEN222 232 IFPS>1THEN162 234 GOTO342 240 REM ---BILD/GRAFIK SPEICHERN--- 242 REM IFPS=0THENGOSUB9112:GOTO150 244 FR=PEEK(53280):POKE18408,FR:REM RAHMEN 246 BA=17408:BE=18431:NA=23552:KN=3:REM FARBSPEICHER 248 SYS49152,BA,BE,NA,KN:REM TRANSFERIEREN 250 REM ---SPEICHERVORGANG--- 252 GOSUB9202:REM DATEINAME? 258 PRINTTAB(7)"[153]DATEN WERDEN GESPEICHERT![155]" 260 BA=23552:BE=32576 262 POKE646,PEEK(53281) 264 SYS49489,PR$,BA,BE 266 GOSUB9902:REM ERROR-ROUTINE 268 IFEN=63ANDR$="J"THEN258 270 GOTO150 280 REM ---GRAFIK WIEDER AUS--- 282 R$="":GETR$:IFR$=""THEN282 284 IFR$=" "THEN287 285 IFR$="S"THEN288 286 GOTO282 287 GOSUB992:GOTO150 288 GOSUB992:GOTO9262 290 REM ---PROG-ABLAUF-ENDE--- 292 GOTO9990 299 GOTO9994 300 REM ---SUBROUTINE ZEICHNEN--- 302 PRINT"[153]BITTE ZUNAECHST FARBEN FESTLEGEN" 304 PRINTTAB(8)"[155]RAHMEN (0-15): " 305 PRINTTAB(8)"[155]HINTERGRUND (0-15): " 306 PRINTTAB(8)"[155]PUNKTFARBE (0-15): " 310 C=1430:GOSUB61 312 GOSUB9212:REM INPUT-ROUTINE 314 FR=GF:C=1429:IFFR<10THENC=C+1 316 GOSUB61:PRINT"[158]"FR 320 C=1630:GOSUB61 322 GOSUB9212 324 GD=GF:C=1629:IFGD<10THENC=C+1 326 GOSUB61:PRINT"[158]"GD 330 C=1830:GOSUB61 332 GOSUB9212 334 PT=GF:C=1829:IFPT<10THENC=C+1 336 GOSUB61:PRINT"[158]"PT 340 REM ---ABFRAGE PUNKTE/LINIEN--- 342 PRINT"P[155]UNKTE BEARBEITEN / L[155]INIEN ZIEHEN?" 344 R$="":GETR$:IFR$=""THEN344 346 IFR$="P"THEN362 348 IFR$="L"THENGOSUB9994 350 GOTO344 360 REM ---PUNKTE SETZEN/LOESCHEN--- 362 POKE53280,FR:SYS50545,BR:REM GRAFIK EIN 363 IFPS>0THEN370 364 POKE2,GD:POKE781,PT:SYS50507:REM FARBEN GD+PT 366 SYS49402,24576,32575,0:REM PKTE AUF 0 SETZEN 370 X=0:Y=0:X1=0:Y1=0:ZS=80:REM KONSTANTEN 371 GOSUB482 372 POKE56322,224:REM TASTATUR SPERREN 374 JT=PEEK(56320):REM JS-PORT 2 376 POKE56322,255:REM TASTATUR FREIGEBEN 380 IFJT=127THEN390 381 IFJT=126THEN402:REM >NORD 382 IFJT=125THEN406:REM >SUED 383 IFJT=123THEN412:REM >WEST 384 IFJT=122THEN422:REM >NORDWEST 385 IFJT=121THEN426:REM >SUEDWEST 386 IFJT=119THEN416:REM >OST 387 IFJT=118THEN432:REM >NORDOST 388 IFJT=117THEN436:REM >SUEDOST 389 IFJT=111THEN442:REM >PKT AENDERN 390 R$="":GETR$:IFR$=" "THEN399 392 IFR$="S"THEN396 394 GOTO372 396 GOSUB992:GOTO9262:REM SPEICHERN? 399 GOSUB992:GOTO150:REM ZURUECK HM 400 REM ---KOORDINATEN AENDERN--- 402 Y1=Y1-1:IFY1<0THENY1=0: REM>NORD 404 GOTO452 406 Y1=Y1+1:IFY1>199THENY1=199:REM>SUED 408 GOTO452 412 X1=X1-1:IFX1<0THENX1=0: REM>WEST 414 GOTO452 416 X1=X1+1:IFX1>319THENX1=319:REM>OST 418 GOTO452 420 REM ---SCHRAEG=CURSOR 10FACH--- 422 X1=X1-10:Y1=Y1-10: REM>NORDWEST 423 IFX1<0THENX1=0 424 IFY1<0THENY1=0 425 GOTO452 426 X1=X1-10:Y1=Y1+10: REM>SUEDWEST 427 IFX1<0THENX1=0 428 IFY1>199THENY1=199 429 GOTO452 432 X1=X1+10:Y1=Y1-10: REM>NORDOST 433 IFX1>319THENX1=319 434 IFY1<0THENY1=0 435 GOTO452 436 X1=X1+10:Y1=Y1+10: REM>SUEDOST 437 IFX1>319THENX1=319 438 IFY1>199THENY1=199 439 GOTO452 440 REM ---PUNKT SETZEN/LOESCHEN--- 442 GOSUB482 450 REM ---ZUSTAND HERSTELLEN--- 452 GOSUB482 460 REM ---ZEITSCHLEIFE--- 462 FORI=0TOZS:NEXT 464 X=X1:Y=Y1 466 GOTO371 480 REM ---PUNKT INVERTIEREN--- 482 ZM=2:SYS50625,X,Y,ZM 484 RETURN 900 REM ***ANZEIGE-SUBROUTINEN*** 910 REM ---SR HINTERGRUND--- 912 F9=INT(FB/256) 913 POKE51171,FB-F9*256:POKE51172,F9 914 V9=INT(VH/256) 915 POKE51168,V9:POKE51169,VH-V9*256 916 POKE51170,VV 917 FG=PT*16+GD:POKE51175,FG 918 POKE51173,PEEK(51171):POKE51174,PEEK(51172) 920 REM ---DATAS IN TABELLE--- 922 I=0:J=0 923 READD1,D2:IFD1=-1THEN927 924 POKE51184+I,D1:POKE51185+I,D2 926 I=I+2:J=J+1:GOTO923 927 POKE51182,J:REM HGD-ZEILENZAHL 928 SYS51243:REM ---HGD ZEICHNEN--- 929 RETURN 950 REM ---SR LINIENAUSGABE--- 952 GOTO956 954 XA=X0:YA=Y0:GOTO960 956 READXA,YA:REM STARTWERT 958 XA=XA+VH:YA=YA+VV 960 READXE,YE,L0:REM ENDWERT 962 XE=XE+VH:YE=YE+VV 964 SYS50688,XA,YA,XE,YE,ZM 966 X0=XE:Y0=YE 970 IFL0=-3THEN954:REM LINIE> WEITER 972 IFL0=-2THEN956:REM LINIE> NEU 974 IFL0=-1THENRETURN 976 RETURN:REM ZUR SICHERHEIT 990 REM ---HR-GRAFIK AUSSCHALTEN--- 992 R$="":POKE198,0:SYS50589 994 RETURN:REM OD.GOTO9100+DORT RETURN 9000 REM ---PROGRAMM-TITEL--- 9002 PRINT"[147][158][176][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][174]" 9004 PRINT"[221] [153]HIRES-GRAFIK-PROGRAMM VON KAHATE [158][221]" 9006 PRINT"[173][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][189]" 9008 RETURN 9100 REM ---AUF TASTE WARTEN--- 9102 L=2424:GOSUB68:C=2412:GOSUB61 9104 PRINT"[158]WEITER MIT TASTE[145][145][145][145][155]" 9106 POKE198,0:WAIT198,1 9108 POKE198,0:L=2424:GOSUB68:RETURN 9110 REM ---KEIN BILD IM SPEICHER--- 9112 L=2424:GOSUB68:C=2409:GOSUB61 9114 PRINT"[158]KEIN BILD IM SPEICHER![145][145][145][145][155]" 9116 GOTO9106 9120 REM ---BLAETTERN--- 9122 L=2424:GOSUB68:C=2405:GOSUB61 9124 PRINT"Z[152]URUECK H[152]AUPTMENUE V[152]ORWAERTS[145][145][145][145][155]" 9126 POKE198,0:WAIT198,1 9128 L=2424:GOSUB68:RETURN 9200 REM ---DATEINAMEN ERFRAGEN--- 9202 PRINT"[155]BITTE DATEINAMEN EINGEBEN:" 9204 PRINT" [197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][158][145][145]":PRINT" "; 9206 POKE19,1:INPUTPR$:POKE19,0:PRINT 9208 RETURN 9210 REM ---GESAMTFARBEN ERFRAGEN--- 9212 POKE19,1:INPUT" [157][157][157]";GF$:POKE19,0:PRINT 9214 GF=VAL(GF$) 9216 IFGF<0ORGF>15THENGOSUB61:GOTO9212 9218 RETURN 9220 REM ---BILD VORHANDEN J/N--- 9222 L=724:GOSUB68:C=802:GOSUB61 9224 PRINT"[155]BILD N[155]EU ZEICHNEN / BILD V[155]ERAENDERN?" 9226 R$="":GETR$:IFR$=""THEN9226 9228 IFR$="N"THEN9234 9230 IFR$="V"THEN9236 9232 GOTO9226 9234 PS=0:GOTO302 9236 PS=1:GOTO222 9240 REM ---BILD GELADEN J/N--- 9242 L=724:GOSUB68:C=805:GOSUB61 9244 PRINT"[155]GRAFIK L[155]ADEN / SCHON G[155]ELADEN?" 9246 R$="":GETR$:IFR$=""THEN9246 9248 IFR$="L"THENRETURN 9250 IFR$="G"THENRETURN 9252 GOTO9246 9260 REM ---GRAFIK SPEICHERN J/N--- 9262 L=724:GOSUB68:C=807:GOSUB61 9264 PRINT"[155]GRAFIK SPEICHERN? <J[155]/N[155])" 9266 R$="":GETR$:IFR$=""THEN9266 9268 IFR$="J"THEN242 9270 IFR$="N"THEN150 9272 GOTO9266 9300 REM ---GRAFIK LADEN--- 9302 GOSUB9202:L=1124:GOSUB68 9304 L=1024:GOSUB68:C=1109:GOSUB61 9306 PRINT"[153]DATEN WERDEN GELADEN ![155]" 9308 BA=23552:REM GESAMT-LADEADRESSE 9310 SYS49676,PR$,BA:REM LADEVORGANG 9312 GOSUB9902 9314 IFEN<>0THEN9328 9320 REM ---GFX AUFBEREITEN--- 9322 BA=23552:BE=24575 9323 NA=17408:KN=3:REM FARBSPEICHER 9324 SYS49152,BA,BE,NA,KN:REM TRANSFERIEREN 9326 FR=PEEK(18408):REM RAHMENFARBE 9328 RETURN 9800 REM ---HILFE-TEXTE--- 9802 IFHS<1THENHS=1 9803 IFHS>5THENHS=5 9804 ONHSGOTO9811,9821,9831,9841,9856 9809 GOSUB9994:GOTO150 9810 REM ---HILFE SEITE 1--- 9811 GOSUB9002 9812 PRINT"[155]DAS PROGRAMM WURDE WEITESTGEHEND" 9813 PRINT"SELBSTERKLAEREND GESCHRIEBEN." 9814 PRINT"VOR DEM EINSCHALTEN EINES GRAFIK-" 9815 PRINT"BILDSCHIRMES SOLLTEN JEDOCH ALLE" 9816 PRINT"FUNKTIONEN BEKANNT SEIN, DIE AUCH" 9817 PRINT"BEI EINGESCHALTETER GRAFIK UEBER" 9818 PRINT"TASTEN AUSGELOEST WERDEN KOENNEN." 9819 GOTO9891 9820 REM ---HILFE SEITE 2--- 9821 GOSUB9002 9822 PRINT"[153]AUS DER EINGESCHALTETEN GRAFIK" 9823 PRINT"FUEHREN WIEDER HERAUS:" 9824 PRINT"[155]<[158]SPACE[155]> ZURUECK ZUM HAUPTMENUE" 9825 PRINT"[155] <[158]S[155]> ZUM MENUE 'SPEICHERN'" 9826 PRINT"EIN VERSEHENTLICHER DRUCK AUF DIE" 9827 PRINT"TASTE BEWIRKT, DASS DER" 9828 PRINT"COMPUTER DEN EINDRUCK ERWECKT, ER" 9829 PRINT"WAERE ABGESTUERZT, [158]ABER: [155] -->":GOTO9891 9830 REM ---HILFE SEITE 3--- 9831 GOSUB9002 9832 PRINT"[155]IM HINTERGRUND LAEUFT DAS PROGRAMM":PRINT"JA WEITER. NUR "; 9833 PRINT"DURCH DAS GFX-BILD":PRINT"WERDEN KEINE MELDUNGEN SICHTBAR." 9834 PRINT"NACH EINEM UND NACH BLIN-":PRINT"DER EINGABE VON "; 9835 PRINT" [158]GOTO399[155] ":PRINT"ERSCHEINT WIEDER DAS HAUPTMENUE." 9836 PRINT"AUS DEM HAUPTMENUE GELANGT MAN":PRINT"UEBER Z[155]EICHNEN"; 9837 PRINT" (U.WEITERE ANGABEN)":PRINT"IN DEN GFX-SCREEN ZUM EDITIEREN." 9838 PRINT"ALLE 64000 PUNKTE SIND MIT EINEM":PRINT"[158]JOYSTICK IN PORT"; 9839 PRINT" 2 [155]ERREICHBAR. -->":GOTO9891 9840 REM ---HILFE SEITE 4--- 9841 GOSUB9002 9842 PRINT"[155]DER ERSTE 'ANGEPEILTE' PUNKT DES":PRINT"GFX-BILDSCHIRMS "; 9843 PRINT"LIEGT LINKS OBEN.":PRINT"DER PUNKT IST BEREITS INVERTIERT," 9844 PRINT"VERGLEICHBAR MIT EINEM CURSOR.":PRINT"DER 'ANGEPEILTE' GRA"; 9845 PRINT"FIK-PUNKT KANN":PRINT"NUN MIT DEM JOYSTICK VERSCHOBEN" 9846 PRINT"WERDEN UND ZWAR HORIZONTAL SOWIE":PRINT"AUCH VERTIKAL JE"; 9847 PRINT" UM EINEN PUNKT." 9848 PRINT"MIT WIRD AUCH":PRINT"DER PUNKT DIAGO"; 9849 PRINT"NAL VERSCHOBEN UND":PRINT"ZWAR JEWEILS UM 10 PUNKTE, DAMIT" 9850 PRINT"BEWEGUNGEN UEBER DEN BILDSCHIRM":PRINT"ETWAS SCHNELLER "; 9851 PRINT"MOEGLICH SIND. -->" 9852 GOTO9891 9855 REM ---HILFE SEITE 5--- 9856 GOSUB9002 9857 PRINT"[155]JEDER DRUCK AUF DIE [158]FEUERTASTE[155] DES":PRINT"JOYSTICKS "; 9858 PRINT"BEWIRKT, DASS DER GERADE" 9859 PRINT"ANGEFAHRENE PUNKT INVERTIERT WIRD.":PRINT"MIT DER [158]FEUER"; 9860 PRINT"TASTE[155] WERDEN ALSO":PRINT"EINZELNE PUNKTE GESETZT UND AUCH" 9861 PRINT"BEREITS GESETZTE GFX-PUNKTE WIEDER":PRINT"GELOESCHT." 9862 PRINT"[152](MIT DER FEUERTASTE WERDEN KUENF-" 9863 PRINT"TIG AUCH MARKIERUNGS-PUNKTE FUER" 9864 PRINT"LINIEN UND GEOMETRISCHE FIGUREN" 9865 PRINT"GESETZT - ABER ERST IN EINER SPAE-" 9866 PRINT"TER WEITERGEFUEHRTEN PROG-VERSION)" 9869 GOTO9891 9890 REM ---AUSWERTUNG BLAETTERN--- 9891 GOSUB9122 9892 R$="":GETR$:IFR$=""THEN9891 9893 IFR$="V"THEN9898 9894 IFR$="Z"THEN9899 9895 IFR$="H"THEN150 9897 GOTO9892 9898 HS=HS+1:GOTO9802 9899 HS=HS-1:GOTO9802 9900 REM ---DISK-ERROR ROUTINE--- 9902 CLOSE15:OPEN15,8,15 9904 INPUT#15,EN,EM$,ET,ES 9906 IFEN=0THEN9936 9908 IFEN=63THEN9921 9910 REM ---MELDUNG AUSGEBEN--- 9912 PRINTTAB(9)"DISK-FEHLER NR: "EN 9914 PRINTTAB(9)" "EM$" [146]" 9916 GOSUB9102 9918 GOTO9936 9920 REM ---DATEI ERSETZEN?--- 9921 C=1907:GOSUB61 9922 PRINT"[153]DIE DATEI [158]"PR$:PRINTTAB(7)"[153]EXISTIERT BEREITS!" 9923 PRINTTAB(7)"[155]ERSETZEN? <J[155]/N[155]>" 9924 R$="":GETR$:IFR$=""THEN9924 9925 IFR$="J"THEN9930 9926 IFR$="N"THEN9936 9927 GOTO9924 9930 PRINT#15,"S:"+PR$ 9932 L=1524:GOSUB68:C=1300:GOSUB61 9936 CLOSE15:RETURN 9990 POKE198,0:WAIT198,1 9992 POKE198,0:PRINT"[147]":END 9994 L=2424:GOSUB68:C=2406:GOSUB61 9995 PRINT" NOCH NICHT PROGRAMMIERT! [146][145][145][145][155]" 9996 FORI=0TO1500:NEXT:GOTO9106:REM DORT WAIT UND RETURN