home *** CD-ROM | disk | FTP | other *** search
/ 64'er / 64ER_CD.iso / sh1x / sh12a.d64 / merge.src (.txt) < prev    next >
Commodore BASIC  |  1995-03-30  |  3KB  |  111 lines

  1. 10 SYS9*4096:.OPT O,OO
  2. 20 *=$C000
  3. 22 BANFL = $2B ;ZEIGER AUF BASIC-
  4. 24 BANFH = $2C ;PROGRAMM-START
  5. 26 BVARL = $2D ;ZEIGER AUF START
  6. 28 BVARH = $2E ;DER VARIABLEN
  7. 30 POL   = $F7 ;ZEIGER IN EINZU-
  8. 32 POH   = $F8 ;FUEGENDES PROGRAMM
  9. 34 STAT  = $90 ;STATUSWORT ST
  10. 36 CPUP  = $01 ;PROZESSORPORT
  11. 38 ZNR   = $12 ;BASIC-ZEILENNUMMER
  12. 40 SA    = $B9 ;SEKUNDAERADRESSE
  13. 42 FPMOD = $3A ;FLAG F. PRG-MODUS
  14. 44 ;
  15. 50 ILLDI = $B3AB ;ILLEGAL DIR. ERROR
  16. 52 LPARA = $E1D4 ;LOAD-PARAM. HOLEN
  17. 54 BLOAD = $FFD5 ;LOAD-ROUTINE D. BS
  18. 56 FAUSW = $E1D1 ;FEHLERAUSWERTUNG
  19. 58 LOERR = $E19C ;LOAD - ERROR
  20. 60 EINF  = $A4A2 ;BASIC-Z. EINFUEGEN
  21. 62 VEKS  = $E455 ;BASIC-VEKTOREN SETZEN
  22. 64 SETBP = $E1A7 ;BASIC-PAR. NEU SETZEN
  23. 66 EWSL  = $0302 ;ZEIGER AUF
  24. 68 EWSH  = $0303 ;EINGABE-WARTESCHLEIFE
  25. 70 BEP   = $01FC ;BASIC-EINGABE-PUFFER
  26. 90 ;
  27. 100 ;
  28. 110 ;     MERGE A - ANHAENGEN
  29. 120 ;
  30. 130 AMERGE JSR READPAR ;PARAMETER LESEN
  31. 140 LDA BANFL:PHA ;ZEIGER AUF BASIC-
  32. 150 LDA BANFH:PHA ;PRG-START RETTEN
  33. 160 LDA BVARL ;ZEIGER AUF BASIC-PRG-
  34. 170 LDY BVARH ;START HINTER BASIC-PRG
  35. 180 SEC ;SETZEN (NEUER PRG-START =
  36. 190 SBC #02 ;VARIABLENSTART - 2)
  37. 200 BCS AMA:DEY
  38. 210 AMA STA BANFL ;NEUE ZEIGER
  39. 220 STY BANFH ;SPEICHERN
  40. 230 JSR LOAD ;BASIC-PRG LADEN
  41. 240 PLA:STA BANFH ;ALTE ZEIGER AUF
  42. 250 PLA ;BASIC-PRG-START WIEDER-
  43. 260 STA BANFL ;HERSTELLEN
  44. 270 JMP SETBP ;BASIC-PARAMETER SETZEN
  45. 300 ;
  46. 310 ;     MERGE E - EINFUEGEN
  47. 320 ;
  48. 330 EMERGE JSR READPAR ;PARAMETER LESEN
  49. 340 LDY #$A0 ;ANFANGSADRESSE FUER LOAD
  50. 350 STA POL ;& ZEIGER IN EINZUF. PRG
  51. 360 STY POH ;AUF $A000 SETZEN
  52. 370 JSR LOAD ;BASIC-PRG. LADEN
  53. 380 LDA POINTER+1:LDY POINTER+2
  54. 390 STA EWSL ;ZEIGER AUF EINGABE-WARTE-
  55. 400 STY EWSH ;SCHLEIFE NEU SETZEN
  56. 410 EMA LDY #255 ;ZEIGER IN BASIC-ZEILE
  57. 420 EMB LDA CPUP:AND #%11111110
  58. 430 STA CPUP ;BASIC-ROM AUSSCHALTEN
  59. 440 INY ;ZEIGER IN ZEILE + 1
  60. 450 LDA (POL),Y ;ZEICHEN AUS PRG HOLEN
  61. 460 INC CPUP ;BASIC-ROM EINSCHALTEN
  62. 470 CPY #01 ;ZEIGER IN N. BASIC-Z. ?
  63. 480 BCC EMB ;LOW-BYTE - NICHT BEACHTEN
  64. 490 BNE EMC ;KEIN TEIL DES ZEIGERS
  65. 500 TAX ;00 FUER PROGRAMMENDE ?
  66. 510 BNE EMB ;<>00 - NICHT BEACHTEN
  67. 520 LDX #03 ;PROGRAMMENDE - ZEIGER AUF
  68. 530 JSR VEKS ;E-WS WIEDERHERSTELLEN
  69. 540 JMP SETBP+4 ;BASIC-PARAM. SETZEN
  70. 550 ;
  71. 560 EMC CPY #04 ;ZEILENNUMMER ?
  72. 570 BCS EMD ;KEIN TEIL D. ZEILENNUMMER
  73. 580 STA ZNR,Y ;SPEICHERN
  74. 590 BCC EMB ;UNBEDINGTER SPRUNG
  75. 600 EMD STA BEP,Y ;ZEICHEN IN PUFFER
  76. 610 TAX:BNE EMB ;<>0 - KEIN ZEILENENDE
  77. 620 TYA:ADC POL ;ZEIGER IN EINZUF. PRG
  78. 630 STA POL ;AUF ANFANG DER NAECHSTEN
  79. 640 BCC EME ;PROGRAMMZEILE SETZEN
  80. 650 INC POH
  81. 660 EME INY ;LAENGE DER ZEILE + 1
  82. 670 JMP EINF ;ZEILE EINFUEGEN
  83. 1000 ;
  84. 1010 ;     UNTERROUTINEN
  85. 1020 ;
  86. 1030 ;       EINGABE-PARAMETER HOLEN
  87. 1040 ;
  88. 1050 READPAR JSR LPARA ;LOAD-PARAMETER
  89. 1060 LDA #00 ;SEKUNDAERADRESSE = 0
  90. 1070 STA SA ;(LADEN AN FESTE ADRESSE)
  91. 1080 RET RTS
  92. 1100 ;
  93. 1110 ;       BASIC-PROGRAMM LADEN
  94. 1120 ;
  95. 1130 LOAD TAX ;LOW-BYTE DER ADRESSE
  96. 1140 LDA CPUP:AND #%11111110
  97. 1150 STA CPUP ;BASIC-ROM AUSSCHALTEN
  98. 1160 LDA #00 ;FLAG FUER LOAD
  99. 1170 JSR BLOAD ;LADEN
  100. 1180 INC CPUP ;BASIC-ROM EINSCHALTEN
  101. 1190 BCC LOA ;KEIN FEHLER
  102. 1200 JMP FAUSW ;FEHLERAUSWERTUNG
  103. 1210 LOA LDA STAT
  104. 1220 AND #$BF ;STATUS UEBERPRUEFEN
  105. 1230 BEQ RET ;KEIN FEHLER
  106. 1240 JMP LOERR
  107. 1300 ;
  108. 1310 ;       POINTER FUER HYPRA-BASIC
  109. 1320 ;
  110. 1330 POINTER JMP EMA
  111.