home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er
/
64ER_CD.iso
/
94xx
/
9410a.d64
/
autostart-ass
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
1995-03-30
|
5KB
|
132 lines
100 "; *******************
110 "; * *
120 "; * AUTOSTART FUER *
130 "; * *
140 "; * *
150 "; * BASICPROGRAMME *
160 "; * *
170 "; * AUF C64, V1.0 *
180 "; * *
190 "; *******************
200 ";
210 ";
220 ";
240 ";
250 ";
260 ";
270 ";
280 " .BA $C900
290 " ;
300 " ;
310 " ;RAMADRESSEN
320 " ;***********
330 " ;
340 " ;
350 "BASBL =$0308 ;ENTHALTEN EINSPRUNGADRESSE FUER BASICBEFEHLE
360 "BASBH =$0309
370 " ;
380 "MBASBL =$C900 ;ZWISCHENSPEICHER FUER ALTEN BASICEINSPRUNG
390 "MBASBH =$C901
400 " ;
410 "NBASBL =$29 ;NEUE EINSPRUNGADRESSE FUER BASICBEFEHLE
420 "NBASBH =$C9 ;IST $C929
430 " ;
440 "FILENR =$02 ;LOGISCHE FILENUMMER
450 "SEKADR =$02 ;SEKUNDAERADRESSE
460 "GERNR =$08 ;ENTHAELT GERAETENUMMER
470 " ;
480 "BASZEIL =$7A ;ZEIGER AUF ZEICHEN IM BASICTEXT
490 "BASZEIH =$7B ;WIRD BEI CHRGET ERHOEHT, BLEIBT BEI CHRGOT KONST
500 " ;
510 "PRGENDL =$2D ;PROGRAMMENDEZEIGER
520 "PRGENDH =$2E ;WIRD NACH LOAD JEWEILS GESETZT
530 " ;
540 " ;
550 " ;BETRIEBSSYSTEMADRESSEN
560 " ;**********************
570 " ;
580 " ;
590 "CHRGET =$0073 ;HOLT ZEICHEN AUS TEXT
600 "CHRGOT =$0079 ;HOLT LETZTES ZEICHEN AUS TEXT
610 "GETNAME =$E257 ;HOLT FILENAMEN
620 "SYNTAX =$AF08 ;SYNTAX ERROR
630 "INTSCHL =$A7AE ;INTERPRETERSCHLEIFE
640 " ;
650 "LOAD =$FFD5 ;LOAD-ROUTINE
660 "RUN =$A659 ;RUN-ROUTINE
670 "SETFIL =$FFBA ;SETZT FILEPARAMETER
680 "ERRAUS =$E0F9 ;FEHLERAUSWERTUNG NACH LOAD-ROUTINE
690 " ;
700 " ;
710 " ;INIT
720 " ;****
730 " ;
740 " ;
750 " .BY $E4 ;DEFAULTWERT BASICZEIGER $A7E4
760 " .BY $A7
770 " SEI
780 " LDA BASBL ;LOWZEIGER PRUEFEN
790 " CMP #NBASBL
800 " BNE INIT ;UNGLEICH, DANN INIT
810 " LDA BASBH ;HIGHZEIGER VERGLEICHEN
820 " CMP #NBASBH
830 " BEQ RUECK
840 "INIT LDA BASBL ;ALTEN ZEIGER MERKEN, LOWBYTE
850 " STA MBASBL ;IN $C900 SPEICHERN
860 " LDA BASBH ;HIGH-BYTE
870 " STA MBASBH ;IN $C901 SPEICERN
880 " LDA #NBASBL ;NEUEN BASICZEIGER SETZEN
890 " STA BASBL ;LOWBYTE $29 IN $0308 SPEICHERN
900 " LDA #NBASBH
910 " STA BASBH ;HIGHBYTE $C9 IN $0309 SPEICHERN
920 "RUECK CLI
930 " RTS
940 " ;
950 " ;
960 " ;NEUER EINSPRUNG
970 " ;***************
980 " ;
990 " ;
1000 " JSR CHRGET
1010 " CMP #'! ;AUSRUFEZEICHEN ?
1020 " BEQ FOUND ;JA, DANN EIGENE ROUTINE
1030 "
1040 " LDX BASZEIL ;BASICZEIGER LOW
1050 " BNE LAB1
1060 " DEC BASZEIH ;BASICZEIGER HIGH DEKREMENTIEREN, WENN LOW=0
1070 "LAB1 DEC BASZEIL ;BASICZEIGER LOW DEKREMENTIEREN
1080 " JMP (MBASBL) ;INTERPRETERBEFEHL AUSFUEHREN
1090 "FOUND JSR CHRGET ;ZEIGER AUF ERSTES ZEICHEN SETZEN
1100 " JSR GETNAME ;HOLT FILENAMEN
1110 " LDY #SEKADR ;SEKUNDAERADRESSE 2
1120 " LDA #FILENR ;FILENUMMER 2
1130 " LDX #GERNR ;GERAETENUMMER 8 = FLOPPY
1140 " JSR SETFIL ;SETZT FILEPARAMETER
1150 " LDA #$00 ;ZEIGT LOAD AN; $01 FUER VERIFY
1160 " JSR LOAD ;LOADROUTINE
1170 " BCC OK ;FEHLERAUSGABE
1180 " JMP ERRAUS ;FEHLERMELDUNG AUSGEBEN
1190 "OK STX PRGENDL ;ENDEZEIGER SPEICHERN
1200 " STY PRGENDH
1210 " JSR RUN ;PROGRAMM STARTEN
1220 " JMP INTSCHL ;ZURUECK ZUR INTERPRETERSCHLEIFE
1230 " ;
1240 " ;
1250 " ;OLD
1260 " ;***
1270 " ;
1280 " ;
1290 " LDA BASBL ;BASICZEIGER PRUEFEN; LOW
1300 " CMP #NBASBL ;GLEICH NEUEM ZEIGER
1310 " BNE BACK ;UNGLEICH, DANN RUECKSPRUNG
1320 " LDA BASBH ;HIGHBYTE VERGLEICHEN
1330 " CMP #NBASBH ;GLEICH NEUEM ZEIGER ?
1340 " BNE BACK
1350 " SEI
1360 " LDA MBASBL ;ALTER ZEIGER, LOW
1370 " STA BASBL
1380 " LDA MBASBH ;ZEIGER HIGH
1390 " STA BASBH ;ORIGINALZEIGER ZURUECKHOLEN
1400 " CLI
1410 "BACK RTS