INT12.SRC
FILE INFORMATION
FILENAME(S): INT12.SRC
FILE TYPE(S): DEL
FILE SIZE: 2.4K
FIRST SEEN: 2025-11-30 16:57:11
APPEARS ON: 1 disk(s)
FILE HASH
e265a78622faa848a8f17ba4c7717df5dd84f18b4b86e107244fa546e40a05c3
FOUND ON DISKS (1 DISKS)
| DISK TITLE | FILENAME | FILE TYPE | COLLECTION | TRACK | SECTOR | ACTIONS |
|---|---|---|---|---|---|---|
| CCC 7 20 | INT12.SRC | DEL | High Voltage Complete C64 Collection, Markus Merz | 21 | 3 | DOWNLOAD FILE |
FILE CONTENT & ANALYSIS
00000000: 49 52 51 4D 52 20 20 3D 24 44 30 31 41 0D 53 41 |IRQMR =$D01A.SA| 00000010: 20 20 20 20 20 3D 33 33 37 38 34 0D 56 49 43 4D | =33784.VICM| 00000020: 43 52 20 3D 24 44 30 31 38 0D 54 49 4D 45 20 20 |CR =$D018.TIME | 00000030: 20 3D 24 41 30 0D 20 20 20 20 20 20 2A 3D 24 43 | =$A0. *=$C| 00000040: 45 30 30 0D 3B 0D 3B 20 20 53 55 42 52 4F 55 54 |E00.;.; SUBROUT| 00000050: 49 4E 45 20 53 45 54 56 45 43 0D 3B 20 20 53 45 |INE SETVEC.; SE| 00000060: 54 53 20 49 4E 54 45 52 52 55 50 54 20 56 45 43 |TS INTERRUPT VEC| 00000070: 54 4F 52 20 54 4F 20 4A 55 4D 50 0D 3B 20 20 54 |TOR TO JUMP.; T| 00000080: 48 52 4F 55 47 48 20 41 4E 49 4D 55 53 0D 3B 0D |HROUGH ANIMUS.;.| 00000090: 53 45 54 56 45 43 20 4C 44 41 20 24 30 33 31 34 |SETVEC LDA $0314| 000000A0: 20 20 20 2E 4C 4F 57 20 42 59 54 45 0D 20 20 20 | .LOW BYTE. | 000000B0: 20 20 20 53 54 41 20 4C 53 54 4A 4D 50 2B 31 0D | STA LSTJMP+1.| 000000C0: 20 20 20 20 20 20 4C 44 41 20 24 30 33 31 35 20 | LDA $0315 | 000000D0: 20 20 2E 48 49 47 48 20 42 59 54 45 0D 20 20 20 | .HIGH BYTE. | 000000E0: 20 20 20 53 54 41 20 4C 53 54 4A 4D 50 2B 32 0D | STA LSTJMP+2.| 000000F0: 20 20 20 20 20 20 53 45 49 20 20 20 20 20 20 20 | SEI | 00000100: 20 20 2E 54 55 52 4E 20 4F 46 46 20 49 4E 54 45 | .TURN OFF INTE| 00000110: 52 52 55 50 54 53 0D 20 20 20 20 20 20 4C 44 41 |RRUPTS. LDA| 00000120: 20 23 24 31 44 20 20 20 20 2E 41 4E 49 4D 55 53 | #$1D .ANIMUS| 00000130: 20 41 44 44 52 45 53 53 0D 20 20 20 20 20 20 53 | ADDRESS. S| 00000140: 54 41 20 24 30 33 31 34 0D 20 20 20 20 20 20 4C |TA $0314. L| 00000150: 44 41 20 23 24 43 45 0D 20 20 20 20 20 20 53 54 |DA #$CE. ST| 00000160: 41 20 24 30 33 31 35 0D 20 20 20 20 20 20 43 4C |A $0315. CL| 00000170: 49 20 20 20 20 20 20 20 20 20 2E 54 55 52 4E 20 |I .TURN | 00000180: 49 4E 54 45 52 52 55 50 54 53 20 42 41 43 4B 20 |INTERRUPTS BACK | 00000190: 4F 4E 0D 20 20 20 20 20 20 52 54 53 0D 3B 0D 3B |ON. RTS.;.;| 000001A0: 20 20 53 55 42 52 4F 55 54 49 4E 45 20 41 4E 49 | SUBROUTINE ANI| 000001B0: 4D 55 53 0D 3B 20 20 53 57 49 54 43 48 45 53 20 |MUS.; SWITCHES | 000001C0: 54 4F 20 41 4C 54 45 52 4E 41 54 45 20 53 50 52 |TO ALTERNATE SPR| 000001D0: 49 54 45 20 41 4E 44 0D 3B 20 20 43 48 41 52 41 |ITE AND.; CHARA| 000001E0: 43 54 45 52 20 53 45 54 20 45 56 45 52 59 20 4E |CTER SET EVERY N| 000001F0: 20 4A 49 46 46 49 45 53 0D 3B 0D 20 20 20 20 20 | JIFFIES.;. | 00000200: 20 2A 3D 24 43 45 31 44 0D 41 4E 49 4D 55 53 20 | *=$CE1D.ANIMUS | 00000210: 4E 4F 50 0D 20 20 20 20 20 20 4C 44 41 20 23 31 |NOP. LDA #1| 00000220: 35 20 20 20 20 20 2E 4F 4E 43 45 20 50 45 52 20 |5 .ONCE PER | 00000230: 31 2F 34 20 53 45 43 4F 4E 44 0D 20 20 20 20 20 |1/4 SECOND. | 00000240: 20 41 4E 44 20 54 49 4D 45 2B 32 0D 20 20 20 20 | AND TIME+2. | 00000250: 20 20 42 45 51 20 43 48 41 4E 47 45 0D 20 20 20 | BEQ CHANGE. | 00000260: 20 20 20 4C 44 41 20 23 36 33 0D 20 20 20 20 20 | LDA #63. | 00000270: 20 41 4E 44 20 54 49 4D 45 2B 32 0D 20 20 20 20 | AND TIME+2. | 00000280: 20 20 42 4E 45 20 43 48 4B 53 50 52 0D 20 20 20 | BNE CHKSPR. | 00000290: 20 20 20 4A 4D 50 20 53 4F 55 4E 44 0D 43 48 4B | JMP SOUND.CHK| 000002A0: 53 50 52 20 41 4E 44 20 23 36 32 0D 20 20 20 20 |SPR AND #62. | 000002B0: 20 20 42 45 51 20 53 50 52 49 54 45 0D 20 20 20 | BEQ SPRITE. | 000002C0: 20 20 20 4A 4D 50 20 53 4F 55 4E 44 0D 4C 53 54 | JMP SOUND.LST| 000002D0: 4A 4D 50 20 4A 4D 50 20 4C 53 54 4A 4D 50 20 20 |JMP JMP LSTJMP | 000002E0: 2E 53 45 4C 46 20 4D 4F 44 49 46 59 49 4E 47 20 |.SELF MODIFYING | 000002F0: 54 4F 20 4A 55 4D 50 20 41 44 44 52 45 53 53 0D |TO JUMP ADDRESS.| 00000300: 43 48 41 4E 47 45 20 4C 44 41 20 23 31 33 0D 20 |CHANGE LDA #13. | 00000310: 20 20 20 20 20 43 4D 50 20 56 49 43 4D 43 52 0D | CMP VICMCR.| 00000320: 20 20 20 20 20 20 42 45 51 20 54 57 4F 0D 20 20 | BEQ TWO. | 00000330: 20 20 20 20 53 54 41 20 56 49 43 4D 43 52 20 20 | STA VICMCR | 00000340: 2E 53 45 54 20 54 4F 20 46 4F 4E 54 31 0D 20 20 |.SET TO FONT1. | 00000350: 20 20 20 20 4A 4D 50 20 53 4F 55 4E 44 0D 54 57 | JMP SOUND.TW| 00000360: 4F 20 20 20 20 4C 44 41 20 23 31 35 0D 20 20 20 |O LDA #15. | 00000370: 20 20 20 53 54 41 20 56 49 43 4D 43 52 20 20 2E | STA VICMCR .| 00000380: 53 45 54 20 54 4F 20 46 4F 4E 54 32 0D 20 20 20 |SET TO FONT2. | 00000390: 20 20 20 4A 4D 50 20 53 4F 55 4E 44 0D 3B 0D 53 | JMP SOUND.;.S| 000003A0: 50 52 49 54 45 20 4C 44 41 20 23 31 0D 20 20 20 |PRITE LDA #1. | 000003B0: 20 20 20 41 4E 44 20 53 41 2B 32 0D 20 20 20 20 | AND SA+2. | 000003C0: 20 20 42 45 51 20 45 56 45 4E 0D 3B 0D 20 20 20 | BEQ EVEN.;. | 000003D0: 20 20 20 44 45 43 20 53 41 2B 32 20 20 20 20 2E | DEC SA+2 .| 000003E0: 53 45 54 20 54 4F 20 53 45 54 20 31 0D 20 20 20 |SET TO SET 1. | 000003F0: 20 20 20 44 45 43 20 53 41 2B 33 0D 20 20 20 20 | DEC SA+3. | 00000400: 20 20 44 45 43 20 53 41 2B 34 0D 20 20 20 20 20 | DEC SA+4. | 00000410: 20 4C 44 41 20 53 41 20 20 20 20 20 20 2E 5A 41 | LDA SA .ZA| 00000420: 50 20 53 50 52 49 54 45 0D 20 20 20 20 20 20 43 |P SPRITE. C| 00000430: 4D 50 20 23 31 36 39 0D 20 20 20 20 20 20 42 45 |MP #169. BE| 00000440: 51 20 44 53 41 0D 20 20 20 20 20 20 4A 4D 50 20 |Q DSA. JMP | 00000450: 53 4F 55 4E 44 0D 44 53 41 20 20 20 44 45 43 20 |SOUND.DSA DEC | 00000460: 53 41 0D 20 20 20 20 20 20 4A 4D 50 20 53 4F 55 |SA. JMP SOU| 00000470: 4E 44 0D 3B 0D 45 56 45 4E 20 20 49 4E 43 20 53 |ND.;.EVEN INC S| 00000480: 41 2B 32 20 20 20 20 2E 53 45 54 20 54 4F 20 53 |A+2 .SET TO S| 00000490: 45 54 20 32 0D 20 20 20 20 20 20 49 4E 43 20 53 |ET 2. INC S| 000004A0: 41 2B 33 0D 20 20 20 20 20 20 49 4E 43 20 53 41 |A+3. INC SA| 000004B0: 2B 34 0D 20 20 20 20 20 20 4C 44 41 20 53 41 20 |+4. LDA SA | 000004C0: 20 20 20 20 20 2E 5A 41 50 20 53 50 52 49 54 45 | .ZAP SPRITE| 000004D0: 0D 20 20 20 20 20 20 43 4D 50 20 23 31 36 38 0D |. CMP #168.| 000004E0: 20 20 20 20 20 20 42 45 51 20 49 53 41 0D 20 20 | BEQ ISA. | 000004F0: 20 20 20 20 4A 4D 50 20 53 4F 55 4E 44 0D 49 53 | JMP SOUND.IS| 00000500: 41 20 20 20 49 4E 43 20 53 41 0D 20 20 20 20 20 |A INC SA. | 00000510: 20 4A 4D 50 20 53 4F 55 4E 44 0D 3B 0D 3B 20 20 | JMP SOUND.;.; | 00000520: 53 55 42 52 4F 55 54 49 4E 45 20 53 54 53 4D 45 |SUBROUTINE STSME| 00000530: 4D 0D 3B 20 20 53 45 54 20 53 50 52 49 54 45 20 |M.; SET SPRITE | 00000540: 4D 45 4D 4F 52 59 20 2D 0D 3B 20 20 46 4C 3D 31 |MEMORY -.; FL=1| 00000550: 20 57 41 4C 4B 49 4E 47 2C 20 46 4C 3D 30 20 46 | WALKING, FL=0 F| 00000560: 4C 59 49 4E 47 0D 3B 0D 46 4C 20 20 20 20 20 3D |LYING.;.FL =| 00000570: 24 43 35 38 46 0D 4B 46 20 20 20 20 20 3D 24 43 |$C58F.KF =$C| 00000580: 35 39 30 0D 53 54 53 4D 45 4D 20 4C 44 41 20 46 |590.STSMEM LDA F| 00000590: 4C 0D 20 20 20 20 20 20 42 45 51 20 46 4C 59 49 |L. BEQ FLYI| 000005A0: 4E 47 0D 20 20 20 20 20 20 4C 44 41 20 4B 46 20 |NG. LDA KF | 000005B0: 20 20 20 20 20 2E 57 41 4C 4B 49 4E 47 0D 20 20 | .WALKING. | 000005C0: 20 20 20 20 41 53 4C 20 41 0D 20 20 20 20 20 20 | ASL A. | 000005D0: 41 53 4C 20 41 20 20 20 20 20 20 20 2E 4B 46 2A |ASL A .KF*| 000005E0: 34 0D 20 20 20 20 20 20 43 4C 43 0D 20 20 20 20 |4. CLC. | 000005F0: 20 20 41 44 43 20 23 31 32 34 0D 20 20 20 20 20 | ADC #124. | 00000600: 20 4E 4F 50 20 20 20 20 20 20 20 20 20 2E 4C 44 | NOP .LD| 00000610: 58 20 23 30 20 20 20 20 20 20 2E 44 49 53 41 42 |X #0 .DISAB| 00000620: 4C 45 20 49 4E 54 45 52 52 55 50 54 53 0D 20 20 |LE INTERRUPTS. | 00000630: 20 20 20 20 53 45 49 0D 20 20 20 20 20 20 4E 4F | SEI. NO| 00000640: 50 20 20 20 20 20 20 20 20 20 2E 53 54 58 20 49 |P .STX I| 00000650: 52 51 4D 52 0D 20 20 20 20 20 20 4E 4F 50 0D 20 |RQMR. NOP. | 00000660: 20 20 20 20 20 4E 4F 50 0D 20 20 20 20 20 20 53 | NOP. S| 00000670: 54 41 20 53 41 2B 32 0D 20 20 20 20 20 20 41 44 |TA SA+2. AD| 00000680: 43 20 23 32 0D 20 20 20 20 20 20 53 54 41 20 53 |C #2. STA S| 00000690: 41 2B 33 0D 20 20 20 20 20 20 53 54 41 20 53 41 |A+3. STA SA| 000006A0: 2B 34 0D 52 45 54 53 54 20 4E 4F 50 20 20 20 20 |+4.RETST NOP | 000006B0: 20 20 20 20 20 2E 4C 44 58 20 23 31 0D 20 20 20 | .LDX #1. | 000006C0: 20 20 20 43 4C 49 0D 20 20 20 20 20 20 4E 4F 50 | CLI. NOP| 000006D0: 20 20 20 20 20 20 20 20 20 2E 53 54 58 20 49 52 | .STX IR| 000006E0: 51 4D 52 0D 20 20 20 20 20 20 4E 4F 50 0D 20 20 |QMR. NOP. | 000006F0: 20 20 20 20 4E 4F 50 0D 20 20 20 20 20 20 52 54 | NOP. RT| 00000700: 53 0D 46 4C 59 49 4E 47 20 4C 44 41 20 4B 46 0D |S.FLYING LDA KF.| 00000710: 20 20 20 20 20 20 41 53 4C 20 41 0D 20 20 20 20 | ASL A. | 00000720: 20 20 53 54 41 20 46 4C 0D 20 20 20 20 20 20 41 | STA FL. A| 00000730: 53 4C 20 41 0D 20 20 20 20 20 20 43 4C 43 0D 20 |SL A. CLC. | 00000740: 20 20 20 20 20 41 44 43 20 46 4C 20 20 20 20 20 | ADC FL | 00000750: 20 2E 4B 46 2A 36 0D 20 20 20 20 20 20 41 44 43 | .KF*6. ADC| 00000760: 20 23 31 33 38 0D 20 20 20 20 20 20 4E 4F 50 20 | #138. NOP | 00000770: 20 20 20 20 20 20 20 20 2E 4C 44 58 20 23 30 20 | .LDX #0 | 00000780: 20 20 20 20 20 2E 44 49 53 41 42 4C 45 20 49 4E | .DISABLE IN| 00000790: 54 45 52 52 55 50 54 53 0D 20 20 20 20 20 20 53 |TERRUPTS. S| 000007A0: 45 49 0D 20 20 20 20 20 20 4E 4F 50 20 20 20 20 |EI. NOP | 000007B0: 20 20 20 20 20 2E 53 54 58 20 49 52 51 4D 52 0D | .STX IRQMR.| 000007C0: 20 20 20 20 20 20 4E 4F 50 0D 20 20 20 20 20 20 | NOP. | 000007D0: 4E 4F 50 0D 20 20 20 20 20 20 53 54 41 20 53 41 |NOP. STA SA| 000007E0: 2B 32 0D 20 20 20 20 20 20 41 44 43 20 23 32 0D |+2. ADC #2.| 000007F0: 20 20 20 20 20 20 53 54 41 20 53 41 2B 33 0D 20 | STA SA+3. | 00000800: 20 20 20 20 20 41 44 43 20 23 32 0D 20 20 20 20 | ADC #2. | 00000810: 20 20 53 54 41 20 53 41 2B 34 0D 20 20 20 20 20 | STA SA+4. | 00000820: 20 4A 4D 50 20 52 45 54 53 54 0D 3B 0D 3B 20 20 | JMP RETST.;.; | 00000830: 53 55 42 52 4F 55 54 49 4E 45 20 52 45 53 4D 41 |SUBROUTINE RESMA| 00000840: 50 0D 3B 20 20 52 45 53 54 4F 52 45 20 4D 41 50 |P.; RESTORE MAP| 00000850: 20 46 52 4F 4D 20 48 4F 4C 44 49 4E 47 20 41 52 | FROM HOLDING AR| 00000860: 45 41 20 54 4F 0D 3B 20 20 41 43 54 49 56 45 20 |EA TO.; ACTIVE | 00000870: 41 52 45 41 20 43 30 31 30 2E 2E 2E 43 34 30 46 |AREA C010...C40F| 00000880: 5F 39 34 30 30 2E 2E 2E 39 37 46 46 0D 3B 0D 52 |_9400...97FF.;.R| 00000890: 45 53 4D 41 50 20 4C 44 41 20 23 24 39 34 0D 20 |ESMAP LDA #$94. | 000008A0: 20 20 20 20 20 53 54 41 20 46 52 4F 4D 2B 32 0D | STA FROM+2.| 000008B0: 20 20 20 20 20 20 4C 44 41 20 23 24 43 30 0D 20 | LDA #$C0. | 000008C0: 20 20 20 20 20 53 54 41 20 54 4F 2B 32 0D 20 20 | STA TO+2. | 000008D0: 20 20 20 20 4C 44 59 20 23 34 0D 4C 4F 31 20 20 | LDY #4.LO1 | 000008E0: 20 20 4C 44 58 20 23 30 0D 46 52 4F 4D 20 20 20 | LDX #0.FROM | 000008F0: 4C 44 41 20 24 39 34 30 30 2C 58 0D 54 4F 20 20 |LDA $9400,X.TO | 00000900: 20 20 20 53 54 41 20 24 43 30 31 30 2C 58 0D 20 | STA $C010,X. | 00000910: 20 20 20 20 20 44 45 58 0D 20 20 20 20 20 20 42 | DEX. B| 00000920: 4E 45 20 46 52 4F 4D 0D 20 20 20 20 20 20 49 4E |NE FROM. IN| 00000930: 43 20 46 52 4F 4D 2B 32 0D 20 20 20 20 20 20 49 |C FROM+2. I| 00000940: 4E 43 20 54 4F 2B 32 0D 20 20 20 20 20 20 44 45 |NC TO+2. DE| 00000950: 59 0D 20 20 20 20 20 20 42 4E 45 20 4C 4F 31 0D |Y. BNE LO1.| 00000960: 20 20 20 20 20 20 52 54 53 0D 3B 0D 3B 20 20 4A | RTS.;.; J| 00000970: 55 4D 50 20 54 4F 20 53 4F 55 4E 44 0D 3B 0D 20 |UMP TO SOUND.;. | 00000980: 20 20 20 20 20 2A 3D 24 43 46 30 30 0D 53 4F 55 | *=$CF00.SOU| 00000990: 4E 44 20 4E 4F 50 0D 20 20 20 20 20 20 4A 4D 50 |ND NOP. JMP| 000009A0: 20 24 38 35 30 33 0D 20 20 20 20 20 20 2E 45 4E | $8503. .EN| 000009B0: 44 0D |D. |
IRQMR =$D01A.SA =33784.VICMCR =$D01
8.TIME =$A0. *=$CE00.;.; SUBROUT
INE SETVEC.; SETS INTERRUPT VECTOR TO J
UMP.; THROUGH ANIMUS.;.SETVEC LDA $0314
.LOW BYTE. STA LSTJMP+1. LD
A $0315 .HIGH BYTE. STA LSTJMP+2.
SEI .TURN OFF INTERRUPTS.
LDA #$1D .ANIMUS ADDRESS. S
TA $0314. LDA #$CE. STA $0315.
CLI .TURN INTERRUPTS BACK
ON. RTS.;.; SUBROUTINE ANIMUS.; S
WITCHES TO ALTERNATE SPRITE AND.; CHARA
CTER SET EVERY N JIFFIES.;. *=$CE1D
.ANIMUS NOP. LDA #15 .ONCE PER
1/4 SECOND. AND TIME+2. BEQ CH
ANGE. LDA #63. AND TIME+2.
BNE CHKSPR. JMP SOUND.CHKSPR AND
#62. BEQ SPRITE. JMP SOUND.LST
JMP JMP LSTJMP .SELF MODIFYING TO JUMP
ADDRESS.CHANGE LDA #13. CMP VICMCR.
BEQ TWO. STA VICMCR .SET TO
FONT1. JMP SOUND.TWO LDA #15.
STA VICMCR .SET TO FONT2. JMP S
OUND.;.SPRITE LDA #1. AND SA+2.
BEQ EVEN.;. DEC SA+2 .SET TO S
ET 1. DEC SA+3. DEC SA+4.
LDA SA .ZAP SPRITE. CMP #169.
BEQ DSA. JMP SOUND.DSA DEC
SA. JMP SOUND.;.EVEN INC SA+2 .
SET TO SET 2. INC SA+3. INC SA
+4. LDA SA .ZAP SPRITE. C
MP #168. BEQ ISA. JMP SOUND.IS
A INC SA. JMP SOUND.;.; SUBROUTI
NE STSMEM.; SET SPRITE MEMORY -.; FL=1
WALKING, FL=0 FLYING.;.FL =$C58F.KF
=$C590.STSMEM LDA FL. BEQ FLYI
NG. LDA KF .WALKING. ASL
A. ASL A .KF*4. CLC.
ADC #124. NOP .LDX #0
.DISABLE INTERRUPTS. SEI. NO
P .STX IRQMR. NOP. NOP
. STA SA+2. ADC #2. STA S
A+3. STA SA+4.RETST NOP .LD
X #1. CLI. NOP .STX IR
QMR. NOP. NOP. RTS.FLYING
LDA KF. ASL A. STA FL. A
SL A. CLC. ADC FL .KF*6.
ADC #138. NOP .LDX #0
.DISABLE INTERRUPTS. SEI.
NOP .STX IRQMR. NOP.
NOP. STA SA+2. ADC #2. ST
A SA+3. ADC #2. STA SA+4.
JMP RETST.;.; SUBROUTINE RESMAP.; RES
TORE MAP FROM HOLDING AREA TO.; ACTIVE
AREA C010...C40F_9400...97FF.;.RESMAP LD
A #$94. STA FROM+2. LDA #$C0.
STA TO+2. LDY #4.LO1 LDX #0
.FROM LDA $9400,X.TO STA $C010,X.
DEX. BNE FROM. INC FROM+2
. INC TO+2. DEY. BNE LO1.
RTS.;.; JUMP TO SOUND.;. *=$
CF00.SOUND NOP. JMP $8503. .EN
D.
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL