C64 Software  <  SCA: The C64 Software Collection / TINY TITLEMAKER

  Run
1000              ;
1010              ;TINY TITLE MAKER
1020              ;10.10.86     STI
1030              ;
1040 SOUND1       EQU $AE00
1050 SOUND2       EQU $AE0C
1060 RAM          EQU 54
1070              ;
1080 Y            EQU 248
1090 IY           EQU 249
1100 AZ           EQU 10   ;ANZ BREITZ
1110 C            EQU 3    ;SPRITEFARBE
1120 EY           EQU 0    ;EXPAND Y
1130 ROW          EQU 250
1140 CNTR         EQU 251
1150 TEXT         EQU 252
1160 PTR1         EQU 254
1170              ;
1180 SPRITEPTR    EQU 2040+16384
1190 SPRITENR     EQU 32
1200 SPRITES      EQU $4800
1210 LASTSPRITE   EQU SPRITES+448+12
1220 REG          EQU 53270
1230              ;
1240              ORG $800
1250              ;
1260              ;
1270 INT          SEI
1280              LDA #<ISR
1290              STA 788
1300              LDA #>ISR
1310              STA 789
1320              LDA #127
1330              STA 56333
1340              ;
1350              LDX #46
1360 INIT1        LDA VICTAB,X
1370              STA 53248,X
1380              DEX
1390              BPL INIT1
1400              ;
1410              LDA #150
1420              STA 56576
1430              ;
1440              LDA #$40
1450              LDX #$7F
1460              LDY #$44
1470              JSR SCHIEB
1480              ;
1490              LDA #$28
1500              LDX #$83
1510              LDY #$D8
1520              JSR SCHIEB
1530              ;
1540              LDX #8
1550              STX CNTR
1560              LDA #SPRITENR+7
1570 INIT2        STA SPRITEPTR-1,X
1580              SEC
1590              SBC #1
1600              DEX
1610              BNE INIT2
1620              ;
1630              TXA
1640 INIT3        STA SPRITES,X
1650              STA SPRITES+256,X
1660              STA SPRITES+512,X
1670              INX
1680              BNE INIT3
1690              ;
1700              LDA #<TEXTTAB
1710              STA TEXT
1720              LDA #>TEXTTAB
1730              STA TEXT+1
1740              ;
1750              LDA #RAM
1760              STA 1
1770              LDA #0     ; TUNE
1780              JSR SOUND1
1790              LDA #55
1800              STA 1
1810              ;
1820              CLI
1830 FOREVER      JMP FOREVER
1840              ;
1850              ;
1860 SCHIEB       STA 252
1870              STX 253
1880              STY 255
1890              LDY #0
1900              STY 254
1910              LDX #4
1920 SCHIEB1      LDA (252),Y
1930              STA (254),Y
1940              INY
1950              BNE SCHIEB1
1960              INC 253
1970              INC 255
1980              DEX
1990              BNE SCHIEB1
2000              RTS
2010              ;
2020              DFB ""
2030              ;
2040 ISR          LDA #1
2050              STA 53273
2051              NOP
2056              NOP
2060              LDA #51
2070              STA 53265
2090              LDY #5
2100 ISR1         DEY
2110              BNE ISR1
2120              LDA #216
2130              LDX #AZ
2140 ISR3         DEC REG
2150              STA REG
2160              LDY #5
2170 ISR4         DEY
2180              BNE ISR4
2190              NOP
2200              CMP 1; 3 CYCLES
2210              DEX
2220              BNE ISR3
2230              ;
2240              LDA #59
2250              STA 53265
2260              ;
2270              JSR SCLOLL
2280              ;
2290              LDA #RAM
2300              STA 1
2310              JSR SOUND2
2320              LDA #55
2330              STA 1
2340              ;
2350              PLA
2360              TAY
2370              PLA
2380              TAX
2390              PLA
2400              RTI
2410              ;
2420 SCLOLL       LDA #27
2430 SCLOLL1      STA ROW
2440              CLC
2450              ADC #<LASTSPRITE
2460              STA MODIF+1
2470              LDA #>LASTSPRITE
2480              STA MODIF+2
2490              ;
2500              LDY #8
2510 SCLOLL2      LDX #2
2520 MODIF        ROL 65530,X
2530              DEX
2540              BPL MODIF
2550              ;
2560              PHP
2570              LDA MODIF+1
2580              SEC
2590              SBC #64
2600              STA MODIF+1
2610              BCS SCLOLL3
2620              DEC MODIF+2
2630 SCLOLL3      PLP
2640              DEY
2650              BNE SCLOLL2
2660              ;
2670              LDA ROW
2680              SEC
2690              SBC #3
2700              BPL SCLOLL1
2710              ;
2720              DEC CNTR
2730              LDA CNTR
2740              BNE SCLOLLAUS
2750              LDA #8
2760              STA CNTR
2770              LDA #27    ;$D8/8
2780              STA PTR1+1
2790              ;
2800              LDY #0
2810 SCLOLL4      LDA (TEXT),Y
2820              BNE SCLOLL5
2830              ;
2840              LDA #<TEXTTAB
2850              STA TEXT
2860              LDA #>TEXTTAB
2870              STA TEXT+1
2880              BNE SCLOLL4
2890              ;
2900 SCLOLL5      INC TEXT
2910              BNE SCLOLL6
2920              INC TEXT+1
2930              ;
2940 SCLOLL6      ASL
2950              ROL PTR1+1
2960              ASL
2970              ROL PTR1+1
2980              ASL
2990              ROL PTR1+1
3000              STA PTR1
3010              LDA #51
3020              STA 1
3030              LDX #0
3040              LDY #0
3050 SCLOLL7      LDA (PTR1),Y
3060              STA LASTSPRITE+2,X
3070              INX
3080              INX
3090              INX
3100              INY
3110              CPY #7
3120              BCC SCLOLL7
3130              LDA #55
3140              STA 1
3150              ;
3160              ;
3170 SCLOLLAUS    RTS
3180              ;
3190              ;
3200              ;
3210 VICTAB       DFB 0,Y,48,Y,96,Y,144,Y,192,Y,240,Y,32,Y,80,Y,%11000000
3220              DFB 59,IY,0,0,255,216,EY,24,1,129,0,0,255,0,0
3230              DFB 0,0,0,0,0,0,0,C,C,C,C,C,C,C,C
3240              ;
3250 TEXTTAB      DFB ""
3260              DFB ""
3270              DFB ""
3280              DFB "",0
READY.