_  __   _  _         _ _     _      _           _           
  __| |/ /_ | || |     __| (_)___| | __ (_)_ __   __| | _____  __
 / _` | '_ \| || |_   / _` | / __| |/ / | | '_ \ / _` |/ _ \ \/ /
| (_| | (_) |__   _| | (_| | \__ \   <  | | | | | (_| |  __/>  < 
 \__,_|\___/   |_|    \__,_|_|___/_|\_\ |_|_| |_|\__,_|\___/_/\_\
                                                                 
            

RASTER IRQ.SRC

FILE INFORMATION

FILENAME(S): RASTER IRQ.SRC

FILE TYPE(S): PRG

FILE SIZE: 3.1K

FIRST SEEN: 2025-11-30 21:12:52

APPEARS ON: 1 disk(s)

FILE HASH

efd900b96ce2687504f24a6ac7a8ed86f3fb6c96a778ed1014a9e1f53a91904a

FOUND ON DISKS (1 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
TRANSACTOR 4 RASTER IRQ.SRC PRG DuncanTwain 8 1 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

00000000: 01 04 30 04 00 00 8F 20  54 48 45 20 54 52 41 4E  |..0.... THE TRAN|
00000010: 53 41 43 54 4F 52 20 56  4F 4C 55 4D 45 20 34 20  |SACTOR VOLUME 4 |
00000020: 49 53 53 55 45 20 30 34  20 50 41 47 45 20 35 35  |ISSUE 04 PAGE 55|
00000030: 00 7A 04 64 00 3B 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |.z.d.;**********|
00000040: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000050: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000060: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000070: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 00 C4 04 6E 00 3B  |**********...n.;|
00000080: 2A 20 52 4F 55 54 49 4E  45 20 54 4F 20 53 50 4C  |* ROUTINE TO SPL|
00000090: 49 54 20 54 48 45 20 44  49 53 50 4C 41 59 20 53  |IT THE DISPLAY S|
000000A0: 43 52 45 45 4E 20 54 4F  20 43 52 45 41 54 45 20  |CREEN TO CREATE |
000000B0: 41 20 54 57 4F 2D 43 4F  4C 4F 52 20 20 20 20 20  |A TWO-COLOR     |
000000C0: 20 20 20 2A 00 0E 05 78  00 3B 2A 20 42 41 43 4B  |   *...x.;* BACK|
000000D0: 47 52 4F 55 4E 44 2E 20  20 52 41 53 54 31 20 49  |GROUND.  RAST1 I|
000000E0: 53 20 54 48 45 20 52 41  53 54 45 52 2D 43 4F 4D  |S THE RASTER-COM|
000000F0: 50 41 52 45 20 56 41 4C  55 45 20 46 4F 52 20 54  |PARE VALUE FOR T|
00000100: 48 45 20 46 49 52 53 54  20 20 20 20 20 2A 00 58  |HE FIRST     *.X|
00000110: 05 82 00 3B 2A 20 49 4E  54 45 52 52 55 50 54 20  |...;* INTERRUPT |
00000120: 41 4E 44 20 44 45 54 45  52 4D 49 4E 45 53 20 57  |AND DETERMINES W|
00000130: 48 45 52 45 20 54 48 45  20 42 4F 54 54 4F 4D 20  |HERE THE BOTTOM |
00000140: 53 43 52 45 45 4E 20 43  4F 4C 4F 52 20 57 49 4C  |SCREEN COLOR WIL|
00000150: 4C 20 20 20 20 20 20 2A  00 A2 05 8C 00 3B 2A 20  |L      *.....;* |
00000160: 53 54 41 52 54 2C 20 54  48 45 20 43 4F 4C 4F 52  |START, THE COLOR|
00000170: 20 49 53 20 44 45 54 45  52 4D 49 4E 45 44 20 42  | IS DETERMINED B|
00000180: 59 20 42 4F 54 43 4F 4C  2E 20 20 52 41 53 54 32  |Y BOTCOL.  RAST2|
00000190: 20 49 53 20 54 48 45 20  20 20 20 20 20 20 20 20  | IS THE         |
000001A0: 20 2A 00 EC 05 96 00 3B  2A 20 52 41 53 54 45 52  | *.....;* RASTER|
000001B0: 2D 43 4F 4D 50 41 52 45  20 56 41 4C 55 45 20 46  |-COMPARE VALUE F|
000001C0: 4F 52 20 54 48 45 20 53  45 43 4F 4E 44 20 49 4E  |OR THE SECOND IN|
000001D0: 54 45 52 52 55 50 54 20  41 4E 44 20 53 57 49 54  |TERRUPT AND SWIT|
000001E0: 43 48 45 53 20 54 48 45  20 20 20 2A 00 36 06 A0  |CHES THE   *.6..|
000001F0: 00 3B 2A 20 42 41 43 4B  47 52 4F 55 4E 44 20 43  |.;* BACKGROUND C|
00000200: 4F 4C 4F 52 20 54 4F 20  54 4F 50 43 4F 4C 20 41  |OLOR TO TOPCOL A|
00000210: 54 20 54 48 41 54 20 50  4F 49 4E 54 2E 20 20 49  |T THAT POINT.  I|
00000220: 46 20 52 41 53 54 32 20  49 53 20 4C 45 53 53 20  |F RAST2 IS LESS |
00000230: 54 48 45 4E 20 2A 00 80  06 AA 00 3B 2A 20 32 35  |THEN *.....;* 25|
00000240: 30 20 54 48 45 4E 20 54  48 45 20 52 45 53 54 20  |0 THEN THE REST |
00000250: 4F 46 20 54 48 45 20 42  4F 54 54 4F 4D 20 4F 46  |OF THE BOTTOM OF|
00000260: 20 54 48 45 20 53 43 52  45 45 4E 20 41 53 20 57  | THE SCREEN AS W|
00000270: 45 4C 4C 20 41 53 20 54  48 45 20 54 4F 50 20 2A  |ELL AS THE TOP *|
00000280: 00 CA 06 B4 00 3B 2A 20  4F 46 20 54 48 45 20 53  |.....;* OF THE S|
00000290: 43 52 45 45 4E 20 28 55  50 20 54 4F 20 52 41 53  |CREEN (UP TO RAS|
000002A0: 54 31 29 20 57 49 4C 4C  20 48 41 56 45 20 41 20  |T1) WILL HAVE A |
000002B0: 43 4F 4C 4F 52 20 4F 46  20 54 4F 50 43 4F 4C 2E  |COLOR OF TOPCOL.|
000002C0: 20 20 20 20 20 20 20 20  20 2A 00 14 07 BE 00 3B  |         *.....;|
000002D0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
000002E0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
000002F0: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000300: 2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  |****************|
00000310: 2A 2A 2A 2A 00 1A 07 C8  00 3B 00 29 07 D2 00 3B  |****.....;.)...;|
00000320: 43 4F 4E 53 54 41 4E 54  53 00 2F 07 DC 00 3B 00  |CONSTANTS./...;.|
00000330: 54 07 E6 00 49 52 51 56  45 43 20 3D 20 24 30 33  |T...IRQVEC = $03|
00000340: 31 34 20 3B 49 52 51 20  4A 55 4D 50 20 56 45 43  |14 ;IRQ JUMP VEC|
00000350: 54 4F 52 2E 00 7C 07 F0  00 56 49 43 49 49 20 3D  |TOR..|...VICII =|
00000360: 20 24 44 30 30 30 20 3B  53 54 41 52 54 20 4F 46  | $D000 ;START OF|
00000370: 20 56 49 43 49 49 20 43  48 49 50 2E 00 A6 07 FA  | VICII CHIP.....|
00000380: 00 52 41 53 54 48 49 20  3D 20 56 49 43 49 49 2B  |.RASTHI = VICII+|
00000390: 31 37 20 3B 52 41 53 54  45 52 20 43 4F 4D 50 41  |17 ;RASTER COMPA|
000003A0: 52 45 20 48 49 2E 00 D1  07 04 01 52 41 53 54 4C  |RE HI......RASTL|
000003B0: 4F 20 3D 20 56 49 43 49  49 2B 31 38 20 3B 52 41  |O = VICII+18 ;RA|
000003C0: 53 54 45 52 20 43 4F 4D  50 41 52 45 20 4C 4F 57  |STER COMPARE LOW|
000003D0: 2E 00 FA 07 0E 01 56 49  43 49 52 51 20 3D 20 56  |......VICIRQ = V|
000003E0: 49 43 49 49 2B 32 35 20  3B 49 4E 54 45 52 52 55  |ICII+25 ;INTERRU|
000003F0: 50 54 20 41 43 54 49 56  45 2E 00 23 08 18 01 56  |PT ACTIVE..#...V|
00000400: 49 43 45 4E 41 20 3D 20  56 49 43 49 49 2B 32 36  |ICENA = VICII+26|
00000410: 20 3B 49 4E 54 45 52 52  55 50 54 20 45 4E 41 42  | ;INTERRUPT ENAB|
00000420: 4C 45 2E 00 4C 08 22 01  42 47 43 4F 4C 30 20 3D  |LE..L.".BGCOL0 =|
00000430: 20 56 49 43 49 49 2B 33  33 20 3B 42 41 43 4B 47  | VICII+33 ;BACKG|
00000440: 52 4F 55 4E 44 20 43 4F  4C 4F 52 2E 00 78 08 2C  |ROUND COLOR..x.,|
00000450: 01 43 49 41 43 52 41 20  3D 20 24 44 43 30 45 20  |.CIACRA = $DC0E |
00000460: 3B 43 49 41 20 43 4F 4E  54 52 4F 4C 20 52 45 47  |;CIA CONTROL REG|
00000470: 49 53 54 45 52 20 41 2E  00 9E 08 36 01 52 54 49  |ISTER A....6.RTI|
00000480: 45 58 54 20 3D 20 24 46  45 42 43 20 3B 52 54 49  |EXT = $FEBC ;RTI|
00000490: 20 45 58 49 54 20 52 4F  55 54 49 4E 45 2E 00 A4  | EXIT ROUTINE...|
000004A0: 08 40 01 3B 00 AA 08 4A  01 3B 00 DA 08 54 01 3B  |.@.;...J.;...T.;|
000004B0: 49 4E 49 54 49 41 4C 49  5A 45 20 49 4E 54 45 52  |INITIALIZE INTER|
000004C0: 52 55 50 54 20 53 59 53  54 45 4D 20 28 4A 55 4D  |RUPT SYSTEM (JUM|
000004D0: 50 20 56 45 43 54 4F 52  29 2E 00 E0 08 5E 01 3B  |P VECTOR)....^.;|
000004E0: 00 EE 08 68 01 2A 20 3D  20 24 36 30 30 30 00 F4  |...h.* = $6000..|
000004F0: 08 72 01 3B 00 02 09 7C  01 20 4A 4D 50 20 49 4E  |.r.;...|. JMP IN|
00000500: 49 54 00 08 09 86 01 3B  00 17 09 90 01 3B 56 41  |IT.....;.....;VA|
00000510: 52 49 41 42 4C 45 53 00  1D 09 9A 01 3B 00 55 09  |RIABLES.....;.U.|
00000520: A4 01 52 41 53 54 32 20  2A 3D 2A 2B 31 20 3B 53  |..RAST2 *=*+1 ;S|
00000530: 45 43 4F 4E 44 20 52 41  53 54 45 52 20 43 4F 4D  |ECOND RASTER COM|
00000540: 50 41 52 45 20 56 41 4C  55 45 20 28 40 20 32 34  |PARE VALUE (@ 24|
00000550: 35 37 39 29 2E 00 8C 09  AE 01 52 41 53 54 31 20  |579)......RAST1 |
00000560: 2A 3D 2A 2B 31 20 3B 46  49 52 53 54 20 52 41 53  |*=*+1 ;FIRST RAS|
00000570: 54 45 52 20 43 4F 4D 50  41 52 45 20 56 41 4C 55  |TER COMPARE VALU|
00000580: 45 20 28 40 20 32 34 35  38 30 29 2E 00 92 09 B8  |E (@ 24580).....|
00000590: 01 3B 00 C7 09 C2 01 42  4F 54 43 4F 4C 20 2A 3D  |.;.....BOTCOL *=|
000005A0: 2A 2B 31 20 3B 42 4F 54  54 4F 4D 20 42 41 43 4B  |*+1 ;BOTTOM BACK|
000005B0: 47 52 4F 55 4E 44 20 43  4F 4C 4F 52 20 28 40 20  |GROUND COLOR (@ |
000005C0: 32 34 35 38 31 29 2E 00  F9 09 CC 01 54 4F 50 43  |24581)......TOPC|
000005D0: 4F 4C 20 2A 3D 2A 2B 31  20 3B 54 4F 50 20 42 41  |OL *=*+1 ;TOP BA|
000005E0: 43 4B 47 52 4F 55 4E 44  20 43 4F 4C 4F 52 20 28  |CKGROUND COLOR (|
000005F0: 40 20 32 34 35 38 32 29  2E 00 FF 09 D6 01 3B 00  |@ 24582)......;.|
00000600: 26 0A E0 01 49 52 51 53  41 56 20 2A 3D 2A 2B 32  |&...IRQSAV *=*+2|
00000610: 20 3B 4F 52 49 47 49 4E  41 4C 20 49 52 51 20 56  | ;ORIGINAL IRQ V|
00000620: 45 43 54 4F 52 2E 00 2C  0A EA 01 3B 00 4E 0A F4  |ECTOR..,...;.N..|
00000630: 01 49 4E 49 54 20 53 45  49 20 3B 44 49 53 41 42  |.INIT SEI ;DISAB|
00000640: 4C 45 20 49 4E 54 45 52  52 55 50 54 53 2E 00 54  |LE INTERRUPTS..T|
00000650: 0A FE 01 3B 00 60 0A 08  02 20 4C 44 41 20 23 30  |...;.`... LDA #0|
00000660: 00 8A 0A 12 02 20 53 54  41 20 43 49 41 43 52 41  |..... STA CIACRA|
00000670: 20 3B 44 49 53 41 42 4C  45 20 36 35 32 36 20 49  | ;DISABLE 6526 I|
00000680: 4E 54 45 52 52 55 50 54  53 2E 00 90 0A 1C 02 3B  |NTERRUPTS......;|
00000690: 00 A0 0A 26 02 20 4C 44  41 20 49 52 51 56 45 43  |...&. LDA IRQVEC|
000006A0: 00 B0 0A 30 02 20 53 54  41 20 49 52 51 53 41 56  |...0. STA IRQSAV|
000006B0: 00 C2 0A 3A 02 20 4C 44  41 20 49 52 51 56 45 43  |...:. LDA IRQVEC|
000006C0: 2B 31 00 EF 0A 44 02 20  53 54 41 20 49 52 51 53  |+1...D. STA IRQS|
000006D0: 41 56 2B 31 20 3B 53 41  56 45 20 4F 52 49 47 49  |AV+1 ;SAVE ORIGI|
000006E0: 4E 41 4C 20 49 52 51 20  56 45 43 54 4F 52 2E 00  |NAL IRQ VECTOR..|
000006F0: F5 0A 4E 02 3B 00 07 0B  58 02 20 4C 44 41 20 23  |..N.;...X. LDA #|
00000700: 3C 53 45 52 56 49 43 00  17 0B 62 02 20 53 54 41  |<SERVIC...b. STA|
00000710: 20 49 52 51 56 45 43 00  29 0B 6C 02 20 4C 44 41  | IRQVEC.).l. LDA|
00000720: 20 23 3E 53 45 52 56 49  43 00 6D 0B 76 02 20 53  | #>SERVIC.m.v. S|
00000730: 54 41 20 49 52 51 56 45  43 2B 31 20 3B 49 4E 49  |TA IRQVEC+1 ;INI|
00000740: 54 20 49 52 51 20 56 45  43 54 4F 52 20 54 4F 20  |T IRQ VECTOR TO |
00000750: 50 4F 49 4E 54 20 54 4F  20 52 41 53 54 45 52 20  |POINT TO RASTER |
00000760: 53 45 52 56 49 43 45 20  43 4F 44 45 2E 00 73 0B  |SERVICE CODE..s.|
00000770: 80 02 3B 00 81 0B 8A 02  20 4C 44 41 20 23 31 35  |..;..... LDA #15|
00000780: 30 00 B2 0B 94 02 20 53  54 41 20 52 41 53 54 31  |0..... STA RAST1|
00000790: 20 3B 49 4E 49 54 20 46  49 52 53 54 20 52 41 53  | ;INIT FIRST RAS|
000007A0: 54 45 52 2D 43 4F 4D 50  41 52 45 20 50 4F 49 4E  |TER-COMPARE POIN|
000007B0: 54 2E 00 C0 0B 9E 02 20  4C 44 41 20 23 32 35 30  |T...... LDA #250|
000007C0: 00 F2 0B A8 02 20 53 54  41 20 52 41 53 54 32 20  |..... STA RAST2 |
000007D0: 3B 49 4E 49 54 20 53 45  43 4F 4E 44 20 52 41 53  |;INIT SECOND RAS|
000007E0: 54 45 52 2D 43 4F 4D 50  41 52 45 20 50 4F 49 4E  |TER-COMPARE POIN|
000007F0: 54 2E 00 F8 0B B2 02 3B  00 08 0C BC 02 20 4C 44  |T......;..... LD|
00000800: 41 20 52 41 53 54 48 49  00 1C 0C C6 02 20 41 4E  |A RASTHI..... AN|
00000810: 44 20 23 25 30 31 31 31  31 31 31 31 00 2C 0C D0  |D #%01111111.,..|
00000820: 02 20 53 54 41 20 52 41  53 54 48 49 00 3B 0C DA  |. STA RASTHI.;..|
00000830: 02 20 4C 44 41 20 52 41  53 54 31 00 77 0C E4 02  |. LDA RAST1.w...|
00000840: 20 53 54 41 20 52 41 53  54 4C 4F 20 3B 49 4E 49  | STA RASTLO ;INI|
00000850: 54 20 52 41 53 54 45 52  20 43 4F 4D 50 41 52 45  |T RASTER COMPARE|
00000860: 20 54 4F 20 46 49 52 53  54 20 52 41 53 54 45 52  | TO FIRST RASTER|
00000870: 20 56 41 4C 55 45 2E 00  7D 0C EE 02 3B 00 89 0C  | VALUE..}...;...|
00000880: F8 02 20 4C 44 41 20 23  30 00 B3 0C 02 03 20 53  |.. LDA #0..... S|
00000890: 54 41 20 54 4F 50 43 4F  4C 20 3B 49 4E 49 54 20  |TA TOPCOL ;INIT |
000008A0: 54 4F 50 20 43 4F 4C 4F  52 20 54 4F 20 42 4C 41  |TOP COLOR TO BLA|
000008B0: 43 4B 2E 00 BF 0C 0C 03  20 4C 44 41 20 23 31 00  |CK...... LDA #1.|
000008C0: EC 0C 16 03 20 53 54 41  20 42 4F 54 43 4F 4C 20  |.... STA BOTCOL |
000008D0: 3B 49 4E 49 54 20 42 4F  54 54 4F 4D 20 43 4F 4C  |;INIT BOTTOM COL|
000008E0: 4F 52 20 54 4F 20 57 48  49 54 45 2E 00 F2 0C 20  |OR TO WHITE.... |
000008F0: 03 3B 00 FE 0C 2A 03 20  4C 44 41 20 23 31 00 31  |.;...*. LDA #1.1|
00000900: 0D 34 03 20 53 54 41 20  56 49 43 45 4E 41 20 3B  |.4. STA VICENA ;|
00000910: 45 4E 41 42 4C 45 20 52  41 53 54 45 52 20 43 4F  |ENABLE RASTER CO|
00000920: 4D 50 41 52 45 20 49 4E  54 45 52 52 55 50 54 53  |MPARE INTERRUPTS|
00000930: 2E 00 37 0D 3E 03 3B 00  54 0D 48 03 20 43 4C 49  |..7.>.;.T.H. CLI|
00000940: 20 3B 45 4E 41 42 4C 45  20 49 4E 54 45 52 52 55  | ;ENABLE INTERRU|
00000950: 50 54 53 2E 00 66 0D 52  03 20 52 54 53 20 3B 52  |PTS..f.R. RTS ;R|
00000960: 45 54 55 52 4E 2E 00 6C  0D 5C 03 3B 00 8E 0D 66  |ETURN..l.\.;...f|
00000970: 03 3B 4D 41 49 4E 20 49  4E 54 45 52 52 55 50 54  |.;MAIN INTERRUPT|
00000980: 20 53 45 52 56 49 43 45  20 43 4F 44 45 2E 00 94  | SERVICE CODE...|
00000990: 0D 70 03 3B 00 AA 0D 7A  03 53 45 52 56 49 43 20  |.p.;...z.SERVIC |
000009A0: 4C 44 59 20 52 41 53 54  4C 4F 00 D0 0D 84 03 20  |LDY RASTLO..... |
000009B0: 4C 44 58 20 23 32 20 3B  41 53 53 55 4D 45 20 53  |LDX #2 ;ASSUME S|
000009C0: 45 43 4F 4E 44 20 49 4E  54 45 52 52 55 50 54 2E  |ECOND INTERRUPT.|
000009D0: 00 FE 0D 8E 03 20 43 50  59 20 52 41 53 54 32 20  |..... CPY RAST2 |
000009E0: 3B 49 53 20 54 48 49 53  20 54 48 45 20 53 45 43  |;IS THIS THE SEC|
000009F0: 4F 4E 44 20 49 4E 54 45  52 52 55 50 54 3F 00 13  |OND INTERRUPT?..|
00000A00: 0E 98 03 20 42 45 51 20  53 4B 49 50 30 31 20 3B  |... BEQ SKIP01 ;|
00000A10: 59 45 53 00 1C 0E A2 03  20 44 45 59 00 50 0E AC  |YES..... DEY.P..|
00000A20: 03 20 43 50 59 20 52 41  53 54 32 20 3B 46 55 44  |. CPY RAST2 ;FUD|
00000A30: 47 45 20 46 4F 52 20 52  41 53 54 45 52 2D 42 45  |GE FOR RASTER-BE|
00000A40: 41 4D 20 54 49 4D 49 4E  47 20 45 52 52 4F 52 2E  |AM TIMING ERROR.|
00000A50: 00 7F 0E B6 03 20 42 45  51 20 53 4B 49 50 30 31  |..... BEQ SKIP01|
00000A60: 20 3B 53 45 45 20 45 58  50 4C 41 4E 41 54 49 4F  | ;SEE EXPLANATIO|
00000A70: 4E 20 4E 45 58 54 20 41  52 54 49 43 4C 45 2E 00  |N NEXT ARTICLE..|
00000A80: AD 0E C0 03 20 44 45 58  20 3B 4E 4F 2C 20 53 4F  |.... DEX ;NO, SO|
00000A90: 20 53 45 54 20 49 4E 44  45 58 20 46 4F 52 20 31  | SET INDEX FOR 1|
00000AA0: 53 54 20 49 4E 54 45 52  52 55 50 54 2E 00 B3 0E  |ST INTERRUPT....|
00000AB0: CA 03 3B 00 CD 0E D4 03  53 4B 49 50 30 31 20 4C  |..;.....SKIP01 L|
00000AC0: 44 41 20 42 4F 54 43 4F  4C 2D 31 2C 58 00 F4 0E  |DA BOTCOL-1,X...|
00000AD0: DE 03 20 53 54 41 20 42  47 43 4F 4C 30 20 3B 53  |.. STA BGCOL0 ;S|
00000AE0: 45 54 20 42 41 43 4B 47  52 4F 55 4E 44 20 43 4F  |ET BACKGROUND CO|
00000AF0: 4C 4F 52 2E 00 FA 0E E8  03 3B 00 0D 0F F2 03 20  |LOR......;..... |
00000B00: 4C 44 41 20 52 41 53 54  32 2D 31 2C 58 00 4C 0F  |LDA RAST2-1,X.L.|
00000B10: FC 03 20 53 54 41 20 52  41 53 54 4C 4F 20 3B 53  |.. STA RASTLO ;S|
00000B20: 45 54 20 52 41 53 54 45  52 2D 43 4F 4D 50 41 52  |ET RASTER-COMPAR|
00000B30: 45 20 46 4F 52 20 4E 45  58 54 20 52 41 53 54 45  |E FOR NEXT RASTE|
00000B40: 52 20 49 4E 54 45 52 52  55 50 54 2E 00 52 0F 06  |R INTERRUPT..R..|
00000B50: 04 3B 00 62 0F 10 04 20  4C 44 41 20 56 49 43 49  |.;.b... LDA VICI|
00000B60: 52 51 00 A0 0F 1A 04 20  53 54 41 20 56 49 43 49  |RQ..... STA VICI|
00000B70: 52 51 20 3B 41 43 4B 4E  4F 57 4C 45 44 47 45 20  |RQ ;ACKNOWLEDGE |
00000B80: 54 48 41 54 20 54 48 45  20 49 4E 54 45 52 52 55  |THAT THE INTERRU|
00000B90: 50 54 20 57 41 53 20 53  45 52 56 49 43 45 44 2E  |PT WAS SERVICED.|
00000BA0: 00 A6 0F 24 04 3B 00 D0  0F 2E 04 20 43 50 58 20  |...$.;..... CPX |
00000BB0: 23 31 20 3B 49 53 20 54  48 49 53 20 54 48 45 20  |#1 ;IS THIS THE |
00000BC0: 46 49 52 53 54 20 49 4E  54 45 52 52 55 50 54 3F  |FIRST INTERRUPT?|
00000BD0: 00 E3 0F 38 04 20 42 4E  45 20 45 58 49 54 32 20  |...8. BNE EXIT2 |
00000BE0: 3B 4E 4F 00 E9 0F 42 04  3B 00 1C 10 4C 04 45 58  |;NO...B.;...L.EX|
00000BF0: 49 54 31 20 4A 4D 50 20  52 54 49 45 58 54 20 3B  |IT1 JMP RTIEXT ;|
00000C00: 52 45 54 55 52 4E 20 46  52 4F 4D 20 46 49 52 53  |RETURN FROM FIRS|
00000C10: 54 20 49 4E 54 45 52 52  55 50 54 2E 00 22 10 56  |T INTERRUPT..".V|
00000C20: 04 3B 00 56 10 60 04 45  58 49 54 32 20 4A 4D 50  |.;.V.`.EXIT2 JMP|
00000C30: 20 28 49 52 51 53 41 56  29 20 3B 50 45 52 46 4F  | (IRQSAV) ;PERFO|
00000C40: 52 4D 20 4E 4F 52 4D 41  4C 20 49 52 51 20 52 4F  |RM NORMAL IRQ RO|
00000C50: 55 54 49 4E 45 2E 00 5C  10 6A 04 3B 00 65 10 74  |UTINE..\.j.;.e.t|
00000C60: 04 2E 45 4E 44 00 00 00                           |..END...        |
..0.... THE TRANSACTOR VOLUME 4 ISSUE 04
 PAGE 55.Z.D.;**************************
****************************************
**.D.N.;* ROUTINE TO SPLIT THE DISPLAY S
CREEN TO CREATE A TWO-COLOR        *...X
.;* BACKGROUND.  RAST1 IS THE RASTER-COM
PARE VALUE FOR THE FIRST     *.X...;* IN
TERRUPT AND DETERMINES WHERE THE BOTTOM 
SCREEN COLOR WILL      *.....;* START, T
HE COLOR IS DETERMINED BY BOTCOL.  RAST2
 IS THE          *.....;* RASTER-COMPARE
 VALUE FOR THE SECOND INTERRUPT AND SWIT
CHES THE   *.6. .;* BACKGROUND COLOR TO 
TOPCOL AT THAT POINT.  IF RAST2 IS LESS 
THEN *.....;* 250 THEN THE REST OF THE B
OTTOM OF THE SCREEN AS WELL AS THE TOP *
.J...;* OF THE SCREEN (UP TO RAST1) WILL
 HAVE A COLOR OF TOPCOL.         *.....;
****************************************
****************************...H.;.).R.;
CONSTANTS./...;.T...IRQVEC = $0314 ;IRQ 
JUMP VECTOR..|...VICII = $D000 ;START OF
 VICII CHIP......RASTHI = VICII+17 ;RAST
ER COMPARE HI..Q...RASTLO = VICII+18 ;RA
STER COMPARE LOW......VICIRQ = VICII+25 
;INTERRUPT ACTIVE..#...VICENA = VICII+26
 ;INTERRUPT ENABLE..L.".BGCOL0 = VICII+3
3 ;BACKGROUND COLOR..X.,.CIACRA = $DC0E 
;CIA CONTROL REGISTER A....6.RTIEXT = $F
EBC ;RTI EXIT ROUTINE....@.;...J.;.Z.T.;
INITIALIZE INTERRUPT SYSTEM (JUMP VECTOR
)....^.;...H.* = $6000...R.;...|. JMP IN
IT.....;.....;VARIABLES.....;.U...RAST2 
*=*+1 ;SECOND RASTER COMPARE VALUE (@ 24
579)......RAST1 *=*+1 ;FIRST RASTER COMP
ARE VALUE (@ 24580)......;.G.B.BOTCOL *=
*+1 ;BOTTOM BACKGROUND COLOR (@ 24581)..
..L.TOPCOL *=*+1 ;TOP BACKGROUND COLOR (
@ 24582)....V.;.&...IRQSAV *=*+2 ;ORIGIN
AL IRQ VECTOR..,...;.N...INIT SEI ;DISAB
LE INTERRUPTS..T...;.`... LDA #0..... ST
A CIACRA ;DISABLE 6526 INTERRUPTS......;
. .&. LDA IRQVEC...0. STA IRQSAV.B.:. LD
A IRQVEC+1...D. STA IRQSAV+1 ;SAVE ORIGI
NAL IRQ VECTOR....N.;...X. LDA #<SERVIC.
..B. STA IRQVEC.).L. LDA #>SERVIC.M.V. S
TA IRQVEC+1 ;INIT IRQ VECTOR TO POINT TO
 RASTER SERVICE CODE..S...;..... LDA #15
0..... STA RAST1 ;INIT FIRST RASTER-COMP
ARE POINT...... LDA #250..... STA RAST2 
;INIT SECOND RASTER-COMPARE POINT......;
..... LDA RASTHI...F. AND #%01111111.,.P
. STA RASTHI.;.Z. LDA RAST1.W... STA RAS
TLO ;INIT RASTER COMPARE TO FIRST RASTER
 VALUE..}...;..... LDA #0..... STA TOPCO
L ;INIT TOP COLOR TO BLACK...... LDA #1.
.... STA BOTCOL ;INIT BOTTOM COLOR TO WH
ITE.... .;...*. LDA #1.1.4. STA VICENA ;
ENABLE RASTER COMPARE INTERRUPTS..7.>.;.
T.H. CLI ;ENABLE INTERRUPTS..F.R. RTS ;R
ETURN..L.\.;...F.;MAIN INTERRUPT SERVICE
 CODE....P.;...Z.SERVIC LDY RASTLO.P... 
LDX #2 ;ASSUME SECOND INTERRUPT...... CP
Y RAST2 ;IS THIS THE SECOND INTERRUPT?..
... BEQ SKIP01 ;YES..... DEY.P... CPY RA
ST2 ;FUDGE FOR RASTER-BEAM TIMING ERROR.
.... BEQ SKIP01 ;SEE EXPLANATION NEXT A
RTICLE...... DEX ;NO, SO SET INDEX FOR 1
ST INTERRUPT....J.;.M.T.SKIP01 LDA BOTCO
L-1,X..... STA BGCOL0 ;SET BACKGROUND CO
LOR......;..... LDA RAST2-1,X.L... STA R
ASTLO ;SET RASTER-COMPARE FOR NEXT RASTE
R INTERRUPT..R...;.B... LDA VICIRQ. ... 
STA VICIRQ ;ACKNOWLEDGE THAT THE INTERRU
PT WAS SERVICED....$.;.P... CPX #1 ;IS T
HIS THE FIRST INTERRUPT?...8. BNE EXIT2 
;NO...B.;...L.EXIT1 JMP RTIEXT ;RETURN F
ROM FIRST INTERRUPT..".V.;.V.`.EXIT2 JMP
 (IRQSAV) ;PERFORM NORMAL IRQ ROUTINE..\
.J.;.E.T..END...
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL