100 REM ***************************** 110 REM * QUELLTEXT FUER * 120 REM * PROFI-ASS ODER FORMEL-64 * 130 REM * PROGRAMM : H.I.D.E. V3.2 * 140 REM * * 150 REM * WRITTEN BY...FRANK HUND * 160 REM * HOEHENWEG 8 * 170 REM * 5200 SIEGBURG 1 * 180 REM * * 190 REM * (C) 1986 F.H. * 200 REM * * 210 REM * START $C000=49152 * 220 REM ***************************** 230 : 240 SYS9*4096 250 .OPT OO 260 * = $C000 270 ; 280 JSR 42291 ;NICHTS GEHT 290 LDA 34 ;UEBER EIN GUTES 300 CLC ;'OLD' ZU ANFANG. 310 ADC #$02 ;H.I.D.E. WIRD 320 STA 45 ;DADURCH 330 LDA 35 ;ANWENDER- 340 ADC #$00 ;FREUNDLICHER! 350 STA 46 ; 360 LDA 43 ;INITIALISIEREN 370 STA $FB ; 380 LDA 44 ; 390 STA $FC ; 400 LDA #$00 ; 410 STA ZAEHLERLOW ; 420 STA ZAEHLERHIGH ; 430 JSR HELLO ;MOMENT BITTE ! 440 ; 450 MAINLOOP LDY #$00 ; 460 LDA ($FB),Y ;ADRESSE FUER 470 STA ADRESSELOW ;NAECHSTE ZEILE 480 INY ;LESEN 490 LDA ($FB),Y ; 500 STA ADRESSEHIGH 510 BNE NOSTOP ;PRUEFEN AUF 520 LDA ADRESSELOW ;ENDE 530 BNE NOSTOP ; 540 JMP FERTIG 550 ; 560 NOSTOP JSR ZOUT ;ZEILENNUMMER 570 ; ;AUSGEBEN... 580 LDY #$04 ;WIRD DIESE 590 LDA ($FB),Y ;ZEILE 600 CMP #"@" ;VERSCHONT "?" 610 BEQ NOHIDE ; 620 LDY #$00 ;NEIN ! (HEHE...) 630 CLC ;HILFSZAEHLER 640 LDA ZAEHLERLOW ;UM 6 ERHOEHEN 650 ADC #$06 ; 660 STA ZAEHLERLOW ; 670 LDA ZAEHLERHIGH ; 680 ADC #$00 ; 690 STA ZAEHLERHIGH ; 700 ; 710 JSR VERKNUEPFE ;ADDIEREN UND 720 ; ;ZURUECKSCHREIBEN 730 CLC 740 LDA $FB ;4 BYTES 750 ADC #$04 ;(ADRESSE, 760 STA $FB ;ZEILENNUMMER) 770 LDA $FC ;UEBERSPRINGEN 780 ADC #$00 ; 790 STA $FC 800 JMP COPIT ;K O P I E R E N 810 ; 820 BACK LDY #$00 ;ENTSTANDENEN 830 TYA ;ZWISCHENRAUM 840 STA ($FB),Y ;MIT 850 INY ;1* 00 860 LDA #$3A ;5* 3A 870 FUELL STA ($FB),Y ;AUFFUELLEN 880 INY ; 890 CPY #$06 ; 900 BNE FUELL 910 SET LDA ADRESSELOW;VEKTOR AUF 920 STA $FB ;NAECHSTE, NEU- 930 LDA ADRESSEHIGH ;ERRECHNENTE 940 STA $FC ;ZEILE 950 JMP MAINLOOP ;UND VON ANFANG 960 ; 970 NOHIDE LDA #$20 ;ZEILE WIRD 980 STA ($FB),Y ;VERSCHONT. 990 LDY #$00 ;MARKE (@) WIRD 1000 JSR VERKNUEPFE ;BESEITIGT... 1010 JMP SET ; 1020 ; 1030 VERKNUEPFE CLC ;UNTEROUTINE : 1040 LDA ADRESSELOW ; 1050 ADC ZAEHLERLOW ;BERECHNUNG DER 1060 STA ADRESSELOW ;NAECHSTEN 1070 STA ($FB),Y ;ADRESSE. 1080 LDA ADRESSEHIGH ; 1090 ADC ZAEHLERHIGH ; 1100 STA ADRESSEHIGH ; 1110 INY ; 1120 STA ($FB),Y ; 1130 RTS 1140 ; 1150 ZOUT LDX #$00 ;ROUTINE 1160 LLP3 LDA POS,X ;AKTUELLE 1170 JSR $FFD2 ;ZEILENNUMMER 1180 INX ;AUSGEBEN. 1190 CMP #$00 ; 1200 BNE LLP3 ; 1210 LDY #$02 ; 1220 LDA ($FB),Y ; 1230 TAX ; 1240 INY ; 1250 LDA ($FB),Y ; 1260 JSR $BDCD ; 1270 RTS 1280 ; 1290 FERTIG CLC ;FERTIG...FAST! 1300 LDA 43 ;WICHTIG: 1310 ADC #$05 ;EIN 'A' IN DER 1320 STA $FB ;1. ZEILE. 1330 LDA 44 ;AUSFUEHRLICH 1340 ADC #$00 ;GEMACHT DAMIT 1350 STA $FC ;FLEXIBEL FUER 1360 LDY #$00 ;ALLE SPEICHER- 1370 LDA #$41 ;BEREICHE 1380 STA ($FB),Y 1390 RTS ;BACK TO BASIC 1400 ; 1410 COPIT LDA 45 ;KOPIERROUTINE 1420 STA $FD ;============= 1430 LDA 46 ; 1440 STA $FE ;INITIALISIEREN: 1450 CLC ;-VEKTOREN 1460 LDA 45 ; SETZEN 1470 ADC #$06 ;-SPEICHERENDE 1480 STA 45 ; HOCHSETZEN 1490 LDA 46 ; 1500 ADC #$00 ; 1510 STA 46 ; 1520 CMP #$A0 ;PRG ZU GROSS 1530 BEQ ERROR ;GEWORDEN"?" 1540 JSR DEB 1550 ; 1560 BEGIN LDY #$00 ; 1570 LDA ($FD),Y ;HIER WIRD DER 1580 LDY #$06 ;SPEICHER 1590 STA ($FD),Y ;ZWISCHEN DER 1600 DEC $FD ;AKTUELLEN 1610 LDA $FD ;'ARBEITSSTELLE' 1620 CMP #$FF ;UND DEM 1630 BNE NO ;PROGRAMMENDE 1640 DEC $FE ;UM 6 BYTES 1650 NO LDA $FD ;NACH HINTEN 1660 CMP $FB ;VERSCHOBEN 1670 BNE BEGIN ; 1680 LDA $FE ; 1690 CMP $FC ; 1700 BNE BEGIN ; 1710 JSR INB 1720 JMP BACK ;ZURUECK 1730 ; 1740 INB INC $FB ;KLEINE 1750 LDA $FB ;SUBROUTINEN 1760 BNE NOI ; 1770 INC $FC ; 1780 NOI RTS ; 1790 ; ; 1800 DEB DEC $FB ; 1810 LDA $FB ; 1820 CMP #$FF ; 1830 BNE NOT ; 1840 DEC $FC ; 1850 NOT RTS ; 1860 ; 1870 HELLO LDX #$00 1880 LLP LDA WORDS,X 1890 JSR $FFD2 1900 INX 1910 CMP #$00 1920 BNE LLP 1930 RTS 1940 WORDS .ASC "H.I.D.E. V3.2[146]" 1950 .BYT $0D 1960 .ASC "MOMENT BITTE !" 1970 .BYT $0D 1980 .ASC "ZEILE : " 1990 .BYT $00 2000 ERROR LDX #$00 2010 LLP2 LDA WORDS2,X 2020 JSR $FFD2 2030 INX 2040 CMP #$00 2050 BNE LLP2 2060 JMP FERTIG 2070 WORDS2 .BYT $0D 2080 .ASC "SORRY, PRG ZU LANG.[146]" 2090 .BYT $00 2100 POS .BYT $0D 2110 .ASC "[145]" : .BYT $00 2120 ; 2130 ZAEHLERLOW .BYT 0 ;HILFSZEIGER 2140 ZAEHLERHIGH .BYT 0 ; 2150 ADRESSELOW .BYT 0 ; 2160 ADRESSEHIGH .BYT 0 ;