Agony
Agony is a stunning example of slick programming and beautiful graphics. At the heart of the game is the Amiga's dual playfield mode, consisting of 2 playfields of 3 bitplanes yielding 2 sets of just 8 colours. Looking at the screenshot below, it's hard to comprehend that it's effectively running in 16 colour mode + another 16 for sprites!
Programmer Yves Grolet has created the illusion of 3 layers of parallax scrolling by splitting the back playfield into 2 pieces. The back playfield is constructed from the even bitplanes 2, 4 and 6. Bitplane 2 forms the static background of the moon, clouds and a mountain range. It is only 2 colours, 1 of which is transparent! Wherever the transparent colour is set, the background copperlist shines through. This static layer never scrolls:
Bitplanes 4 and 6 create a second layer containing trees, rocks, and the brilliantly animated sea. Because this layer uses 2 bitplanes, it is 4 colours (1 of which is transparent). This layer scrolls at 25 frames per second.
The water itself is a sequence of 12 frames that is redrawn every 4 frames in a loop. This creates an awesome looking moving sea:
The front playfield is constructed from the odd bitplanes 1, 3 and 5. It is a standard 8 colour playfield, 1 of which is transparent:
On top of all this sits a rain layer made from sprites. Sprites are given the highest priority, so they appear on top of everything. This makes it look like the rain is at the front of the screen. Wherever the sprites are transparent, the background layers will shine through, and if they are also transparent, the background colour 0 will be visible. Colour 0 is actually black, so the same trick as Shadow of the Beast and many other games is used - at the left side of the display, colour 0 is changed and at the right side of the display, it returns to black:
Sprites are used in the following manner:
- Sprites 0-1 (attached) form the left part of the owl, as well as the sword above the owl when activated. Since they are attached, they are 16 colour sprites.
- Sprites 2-3 (attached) form the right part of the owl.
- Sprites 4-5 form the owl's bullets.
- Sprites 6-7 are used for the rain effect, by displaying the rain graphic twice on each line of the display. By moving the sprites to a different location each update, the rain looks very realistic!
The copperlist:
0005e962: 0120 0001 [000 004] ;SPR0PTH := 0x0001 Left 16 pixels of the owl 0005e966: 0122 b420 [000 008] ;SPR0PTL := 0xb420 0005e96a: 0124 0001 [000 00c] ;SPR1PTH := 0x0001 0005e96e: 0126 b554 [000 010] ;SPR1PTL := 0xb554 0005e972: 0128 0001 [000 014] ;SPR2PTH := 0x0001 Right 16 pixels of the owl 0005e976: 012a b688 [000 018] ;SPR2PTL := 0xb688 0005e97a: 012c 0001 [000 01c] ;SPR3PTH := 0x0001 0005e97e: 012e b7bc [000 020] ;SPR3PTL := 0xb7bc 0005e982: 0130 0001 [000 024] ;SPR4PTH := 0x0001 Bullets 0005e986: 0132 efc8 [000 028] ;SPR4PTL := 0xefc8 0005e98a: 0134 0001 [000 02c] ;SPR5PTH := 0x0001 0005e98e: 0136 ffdc [000 030] ;SPR5PTL := 0xffdc 0005e992: 0138 0005 [000 034] ;SPR6PTH := 0x0005 Rain 0005e996: 013a 54f6 [000 038] ;SPR6PTL := 0x54f6 0005e99a: 013c 0005 [000 03c] ;SPR7PTH := 0x0005 More rain 0005e99e: 013e 57f6 [000 040] ;SPR7PTL := 0x57f6 0005e9a2: 00ec 0007 [000 044] ;BPL4PTH := 0x0007 Setup top display - 2 bitplanes for score 0005e9a6: 00ee 993a [000 048] ;BPL4PTL := 0x993a 0005e9aa: 00f4 0007 [000 04c] ;BPL6PTH := 0x0007 0005e9ae: 00f6 9e3a [000 050] ;BPL6PTL := 0x9e3a
A clever trick is now implemented. Colours 10-15 are set to three pairs of duplicate colour palette entries. This is required because when there are graphics in the background layer, we want them to obscure the static moon layer graphics. By duplicating the colours, this ensures that whether or not the moon layer has a bit set, the correct background colour will be drawn.
- Colour 8 is actually transparent, so colour 0 appears when there are no graphics at all.
- Colour 9 appears when only the static moon bitplane contains graphics data.
- Colours 10, 12 and 14 are drawn when only the background contains graphics data.
- Colours 11, 13 and 15 are visible when both the static moon and the background contain graphics data. By setting these palette entries to the same as colours 10, 12 and 14, you effectively cover the static moon layer!
0005e9b2: 0194 0050 [000 056] ;COLOR10 := 0x0050 Background layer colours 0005e9b6: 0196 0050 [000 05a] ;COLOR11 := 0x0050 0005e9ba: 0198 0554 [000 05e] ;COLOR12 := 0x0554 0005e9be: 019a 0554 [000 062] ;COLOR13 := 0x0554 0005e9c2: 019c 0143 [000 066] ;COLOR14 := 0x0143 0005e9c6: 019e 0143 [000 06a] ;COLOR15 := 0x0143
Now the game sets up the score panel at the top of the screen, which features 16 pixel high text. By adjusting colour 3 on each line, a brown gradient is applied to the score panel.
0005e9ca: 0180 0000 [000 06e] ;COLOR00 := 0x0000 0005e9ce: 008e 2d90 [000 070] ;DIWSTRT := 0x2d90 0005e9d2: 0090 00a0 [000 074] ;DIWSTOP := 0x00a0 0005e9d6: 0092 0038 [000 078] ;DDFSTRT := 0x0038 0005e9da: 0094 00c8 [000 07c] ;DDFSTOP := 0x00c8 0005e9de: 0108 0000 [000 080] ;BPL1MOD := 0x0000 0005e9e2: 010a 0000 [000 084] ;BPL2MOD := 0x0000 0005e9e6: 0100 a200 [000 08a] ;BPLCON0 := 0xa200 0005e9ea: 0104 0000 [000 08c] ;BPLCON2 := 0x0000 0005e9ee: 0102 0000 [000 090] ;BPLCON1 := 0x0000 0005e9f2: 00e0 0005 [000 094] ;BPL1PTH := 0x0005 0005e9f6: 00e2 b0d2 [000 098] ;BPL1PTL := 0xb0d2 0005e9fa: 00e4 0005 [000 09c] ;BPL2PTH := 0x0005 0005e9fe: 00e6 b676 [000 0a0] ;BPL2PTL := 0xb676 0005ea02: 0182 0000 [000 0a6] ;COLOR01 := 0x0000 0005ea06: 2d01 fffe [02d 000] ;Wait for vpos >= 0x2d and hpos >= 0x00. 0005ea0a: 0186 0653 [02d 008] ;COLOR03 := 0x0653 0005ea0e: 2e01 fffe [02e 000] ;Wait for vpos >= 0x2e and hpos >= 0x00. 0005ea12: 0186 0653 [02e 008] ;COLOR03 := 0x0653 0005ea16: 2f01 fffe [02f 000] ;Wait for vpos >= 0x2f and hpos >= 0x00. 0005ea1a: 0186 0764 [02f 008] ;COLOR03 := 0x0764 0005ea1e: 3001 fffe [030 000] ;Wait for vpos >= 0x30 and hpos >= 0x00. 0005ea22: 0186 0764 [030 008] ;COLOR03 := 0x0764 0005ea26: 3101 fffe [031 000] ;Wait for vpos >= 0x31 and hpos >= 0x00. 0005ea2a: 0186 0875 [031 008] ;COLOR03 := 0x0875 0005ea2e: 3201 fffe [032 000] ;Wait for vpos >= 0x32 and hpos >= 0x00. 0005ea32: 0186 0875 [032 008] ;COLOR03 := 0x0875 0005ea36: 3301 fffe [033 000] ;Wait for vpos >= 0x33 and hpos >= 0x00. 0005ea3a: 0186 0986 [033 008] ;COLOR03 := 0x0986 0005ea3e: 3401 fffe [034 000] ;Wait for vpos >= 0x34 and hpos >= 0x00. 0005ea42: 0186 0986 [034 008] ;COLOR03 := 0x0986 0005ea46: 3501 fffe [035 000] ;Wait for vpos >= 0x35 and hpos >= 0x00. 0005ea4a: 0186 0a97 [035 008] ;COLOR03 := 0x0a97 0005ea4e: 3601 fffe [036 000] ;Wait for vpos >= 0x36 and hpos >= 0x00. 0005ea52: 0186 0a97 [036 008] ;COLOR03 := 0x0a97 0005ea56: 3701 fffe [037 000] ;Wait for vpos >= 0x37 and hpos >= 0x00. 0005ea5a: 0186 0ba8 [037 008] ;COLOR03 := 0x0ba8 0005ea5e: 3801 fffe [038 000] ;Wait for vpos >= 0x38 and hpos >= 0x00. 0005ea62: 0186 0ba8 [038 008] ;COLOR03 := 0x0ba8 0005ea66: 3901 fffe [039 000] ;Wait for vpos >= 0x39 and hpos >= 0x00. 0005ea6a: 0186 0cb9 [039 008] ;COLOR03 := 0x0cb9 0005ea6e: 3a01 fffe [03a 000] ;Wait for vpos >= 0x3a and hpos >= 0x00. 0005ea72: 0186 0cb9 [03a 008] ;COLOR03 := 0x0cb9 0005ea76: 3b01 fffe [03b 000] ;Wait for vpos >= 0x3b and hpos >= 0x00. 0005ea7a: 0186 0dca [03b 008] ;COLOR03 := 0x0dca 0005ea7e: 3c01 fffe [03c 000] ;Wait for vpos >= 0x3c and hpos >= 0x00. 0005ea82: 0186 0dca [03c 008] ;COLOR03 := 0x0dca 0005ea86: 0090 00b0 [03c 00a] ;DIWSTOP := 0x00b0
Now the game waits for 3 vertical lines and then sets up the actual game display.
0005ea8a: 3f01 fffe [03f 000] ;Wait for vpos >= 0x3f and hpos >= 0x00. 0005ea8e: 0182 0aa6 [03f 008] ;COLOR01 := 0x0aa6 Front playfield colour palette 0005ea92: 0184 0765 [03f 00c] ;COLOR02 := 0x0765 0005ea96: 0186 0321 [03f 010] ;COLOR03 := 0x0321 0005ea9a: 0188 0543 [03f 014] ;COLOR04 := 0x0543 0005ea9e: 018a 0670 [03f 018] ;COLOR05 := 0x0670 0005eaa2: 018c 0450 [03f 01c] ;COLOR06 := 0x0450 0005eaa6: 018e 0987 [03f 020] ;COLOR07 := 0x0987 0005eaaa: 3fd3 fffe [03f 0d0] ;Wait for vpos >= 0x3f and hpos >= 0xd2. 0005eaae: 0100 6600 [03f 0d8] ;BPLCON0 := 0x6600 Dual playfield mode 0005eab2: 0104 0024 [03f 0da] ;BPLCON2 := 0x0024 Sprites have highest priority, so cover 0005eab6: 0108 0006 [03f 0e0] ;BPL1MOD := 0x0006 all graphics 0005eaba: 00e0 0006 [040 002] ;BPL1PTH := 0x0006 0005eabe: 00e2 0854 [040 006] ;BPL1PTL := 0x0854 0005eac2: 00e8 0006 [040 00a] ;BPL3PTH := 0x0006 0005eac6: 00ea 2954 [040 00e] ;BPL3PTL := 0x2954 0005eaca: 00f0 0006 [040 012] ;BPL5PTH := 0x0006 0005eace: 00f2 4a54 [040 016] ;BPL5PTL := 0x4a54 0005ead2: 00e4 0007 [040 01a] ;BPL2PTH := 0x0007 0005ead6: 00e6 d53a [040 01e] ;BPL2PTL := 0xd53a 0005eada: 010a 0002 [040 022] ;BPL2MOD := 0x0002 0005eade: 0102 00bf [040 026] ;BPLCON1 := 0x00bf 0005eae2: 008a 0000 [040 02a] ;COPJMP2 := 0x0000 COPJMP2 and 5f88a 0005eae6: 0192 0166 ;COLOR09 := 0x0166
For every scanline in the main display, the game waits for horizontal position $42, changes the background colour from black to the sky gradient, and at the end of the scanline (horizontal position $d6) it changes the colour back to black. It does this in bands, so you can see the colour palette entry is duplicated on a number of lines.
(The game actually features a clever trick at this point, as it stores 2 copperlists of background colour changes which are slightly different. By switching the copperlists every frame, the background gradient appears to flicker slightly giving the appearance of even more colours!)
0005eae2: 01fe 0000 [040 02c] ;NO-OP(NULL) := 0x0000 0005eae6: 0192 0166 [040 030] ;COLOR09 := 0x0166 0005eaea: 4043 fffe [040 040] ;Wait for vpos >= 0x40 and hpos >= 0x42. 0005eaee: 0180 0059 [040 04c] ;COLOR00 := 0x0059 0005eaf2: 40d7 fffe [040 0d4] ;Wait for vpos >= 0x40 and hpos >= 0xd6. 0005eaf6: 0180 0000 [040 0dc] ;COLOR00 := 0x0000 0005eafa: 4143 fffe [041 040] ;Wait for vpos >= 0x41 and hpos >= 0x42. 0005eafe: 0180 0059 [041 04c] ;COLOR00 := 0x0059 0005eb02: 41d7 fffe [041 0d4] ;Wait for vpos >= 0x41 and hpos >= 0xd6. 0005eb06: 0180 0000 [041 0dc] ;COLOR00 := 0x0000 0005eb0a: 4243 fffe [042 040] ;Wait for vpos >= 0x42 and hpos >= 0x42. 0005eb0e: 0180 0059 [042 04c] ;COLOR00 := 0x0059 0005eb12: 42d7 fffe [042 0d4] ;Wait for vpos >= 0x42 and hpos >= 0xd6. 0005eb16: 0180 0000 [042 0dc] ;COLOR00 := 0x0000 0005eb1a: 4343 fffe [043 040] ;Wait for vpos >= 0x43 and hpos >= 0x42. 0005eb1e: 0180 0059 [043 04c] ;COLOR00 := 0x0059 0005eb22: 43d7 fffe [043 0d4] ;Wait for vpos >= 0x43 and hpos >= 0xd6. 0005eb26: 0180 0000 [043 0dc] ;COLOR00 := 0x0000 0005eb2a: 4443 fffe [044 040] ;Wait for vpos >= 0x44 and hpos >= 0x42. 0005eb2e: 0180 0059 [044 04c] ;COLOR00 := 0x0059 0005eb32: 44d7 fffe [044 0d4] ;Wait for vpos >= 0x44 and hpos >= 0xd6. 0005eb36: 0180 0000 [044 0dc] ;COLOR00 := 0x0000 0005eb3a: 4543 fffe [045 040] ;Wait for vpos >= 0x45 and hpos >= 0x42. 0005eb3e: 0180 0059 [045 04c] ;COLOR00 := 0x0059 0005eb42: 45d7 fffe [045 0d4] ;Wait for vpos >= 0x45 and hpos >= 0xd6. 0005eb46: 0180 0000 [045 0dc] ;COLOR00 := 0x0000 0005eb4a: 4643 fffe [046 040] ;Wait for vpos >= 0x46 and hpos >= 0x42. 0005eb4e: 0180 0059 [046 04c] ;COLOR00 := 0x0059 0005eb52: 46d7 fffe [046 0d4] ;Wait for vpos >= 0x46 and hpos >= 0xd6. 0005eb56: 0180 0000 [046 0dc] ;COLOR00 := 0x0000 0005eb5a: 4743 fffe [047 040] ;Wait for vpos >= 0x47 and hpos >= 0x42. 0005eb5e: 0180 0059 [047 04c] ;COLOR00 := 0x0059 0005eb62: 47d7 fffe [047 0d4] ;Wait for vpos >= 0x47 and hpos >= 0xd6. 0005eb66: 0180 0000 [047 0dc] ;COLOR00 := 0x0000 0005eb6a: 4843 fffe [048 040] ;Wait for vpos >= 0x48 and hpos >= 0x42. 0005eb6e: 0180 0059 [048 04c] ;COLOR00 := 0x0059 0005eb72: 48d7 fffe [048 0d4] ;Wait for vpos >= 0x48 and hpos >= 0xd6. 0005eb76: 0180 0000 [048 0dc] ;COLOR00 := 0x0000 0005eb7a: 4943 fffe [049 040] ;Wait for vpos >= 0x49 and hpos >= 0x42. 0005eb7e: 0180 0059 [049 04c] ;COLOR00 := 0x0059 0005eb82: 49d7 fffe [049 0d4] ;Wait for vpos >= 0x49 and hpos >= 0xd6. 0005eb86: 0180 0000 [049 0dc] ;COLOR00 := 0x0000
Up until this point, each transparent line of the display has been set to $059, creating a light blue block. Now the game creates a new band by changing the background to a slightly different colour $058, and changing the static moon palette colour aswell. Previously it was $166, now it changes to $165.
0005eb8a: 0192 0165 ;COLOR09 := 0x0165 0005eb8e: 4a43 fffe ;Wait for vpos >= 0x4a and hpos >= 0x42. 0005eb92: 0180 0058 ;COLOR00 := 0x0058 0005eb96: 4ad7 fffe ;Wait for vpos >= 0x4a and hpos >= 0xd6. 0005eb9a: 0180 0000 ;COLOR00 := 0x0000 0005eb9e: 4b43 fffe ;Wait for vpos >= 0x4b and hpos >= 0x42. 0005eba2: 0180 0058 ;COLOR00 := 0x0058 0005eba6: 4bd7 fffe ;Wait for vpos >= 0x4b and hpos >= 0xd6. 0005ebaa: 0180 0000 ;COLOR00 := 0x0000 0005ebae: 4c43 fffe ;Wait for vpos >= 0x4c and hpos >= 0x42. 0005ebb2: 0180 0058 ;COLOR00 := 0x0058 0005ebb6: 4cd7 fffe ;Wait for vpos >= 0x4c and hpos >= 0xd6. 0005ebba: 0180 0000 ;COLOR00 := 0x0000 0005ebbe: 4d43 fffe ;Wait for vpos >= 0x4d and hpos >= 0x42. 0005ebc2: 0180 0058 ;COLOR00 := 0x0058 0005ebc6: 4dd7 fffe ;Wait for vpos >= 0x4d and hpos >= 0xd6. 0005ebca: 0180 0000 ;COLOR00 := 0x0000 0005ebce: 4e43 fffe ;Wait for vpos >= 0x4e and hpos >= 0x42. 0005ebd2: 0180 0058 ;COLOR00 := 0x0058 0005ebd6: 4ed7 fffe ;Wait for vpos >= 0x4e and hpos >= 0xd6. 0005ebda: 0180 0000 ;COLOR00 := 0x0000 0005ebde: 4f43 fffe ;Wait for vpos >= 0x4f and hpos >= 0x42. 0005ebe2: 0180 0058 ;COLOR00 := 0x0058 0005ebe6: 4fd7 fffe ;Wait for vpos >= 0x4f and hpos >= 0xd6. 0005ebea: 0180 0000 ;COLOR00 := 0x0000 0005ebee: 5043 fffe ;Wait for vpos >= 0x50 and hpos >= 0x42. 0005ebf2: 0180 0058 ;COLOR00 := 0x0058 0005ebf6: 50d7 fffe ;Wait for vpos >= 0x50 and hpos >= 0xd6. 0005ebfa: 0180 0000 ;COLOR00 := 0x0000 0005ebfe: 5143 fffe ;Wait for vpos >= 0x51 and hpos >= 0x42. 0005ec02: 0180 0058 ;COLOR00 := 0x0058 0005ec06: 51d7 fffe ;Wait for vpos >= 0x51 and hpos >= 0xd6. 0005ec0a: 0180 0000 ;COLOR00 := 0x0000 0005ec0e: 5243 fffe ;Wait for vpos >= 0x52 and hpos >= 0x42. 0005ec12: 0180 0058 ;COLOR00 := 0x0058 0005ec16: 52d7 fffe ;Wait for vpos >= 0x52 and hpos >= 0xd6. 0005ec1a: 0180 0000 ;COLOR00 := 0x0000 0005ec1e: 5343 fffe ;Wait for vpos >= 0x53 and hpos >= 0x42. 0005ec22: 0180 0058 ;COLOR00 := 0x0058 0005ec26: 53d7 fffe ;Wait for vpos >= 0x53 and hpos >= 0xd6. 0005ec2a: 0180 0000 ;COLOR00 := 0x0000
At vertical position $53, the game changes the palette entry for the background (colour 0) and the static moon layer (colour 9) again, creating another band of colour. The game repeats this process many times:
0005ec2e: 0192 0164 ;COLOR09 := 0x0164 0005ec32: 5443 fffe ;Wait for vpos >= 0x54 and hpos >= 0x42. 0005ec36: 0180 0057 ;COLOR00 := 0x0057 0005ec3a: 54d7 fffe ;Wait for vpos >= 0x54 and hpos >= 0xd6. 0005ec3e: 0180 0000 ;COLOR00 := 0x0000 0005ec42: 5543 fffe ;Wait for vpos >= 0x55 and hpos >= 0x42. 0005ec46: 0180 0057 ;COLOR00 := 0x0057 0005ec4a: 55d7 fffe ;Wait for vpos >= 0x55 and hpos >= 0xd6. 0005ec4e: 0180 0000 ;COLOR00 := 0x0000 0005ec52: 5643 fffe ;Wait for vpos >= 0x56 and hpos >= 0x42. 0005ec56: 0180 0057 ;COLOR00 := 0x0057 0005ec5a: 56d7 fffe ;Wait for vpos >= 0x56 and hpos >= 0xd6. 0005ec5e: 0180 0000 ;COLOR00 := 0x0000 0005ec62: 5743 fffe ;Wait for vpos >= 0x57 and hpos >= 0x42. 0005ec66: 0180 0057 ;COLOR00 := 0x0057 0005ec6a: 57d7 fffe ;Wait for vpos >= 0x57 and hpos >= 0xd6. 0005ec6e: 0180 0000 ;COLOR00 := 0x0000 0005ec72: 5843 fffe ;Wait for vpos >= 0x58 and hpos >= 0x42. 0005ec76: 0180 0057 ;COLOR00 := 0x0057 0005ec7a: 58d7 fffe ;Wait for vpos >= 0x58 and hpos >= 0xd6. 0005ec7e: 0180 0000 ;COLOR00 := 0x0000 0005ec82: 5943 fffe ;Wait for vpos >= 0x59 and hpos >= 0x42. 0005ec86: 0180 0057 ;COLOR00 := 0x0057 0005ec8a: 59d7 fffe ;Wait for vpos >= 0x59 and hpos >= 0xd6. 0005ec8e: 0180 0000 ;COLOR00 := 0x0000 0005ec92: 5a43 fffe ;Wait for vpos >= 0x5a and hpos >= 0x42. 0005ec96: 0180 0057 ;COLOR00 := 0x0057 0005ec9a: 5ad7 fffe ;Wait for vpos >= 0x5a and hpos >= 0xd6. 0005ec9e: 0180 0000 ;COLOR00 := 0x0000 0005eca2: 5b43 fffe ;Wait for vpos >= 0x5b and hpos >= 0x42. 0005eca6: 0180 0057 ;COLOR00 := 0x0057 0005ecaa: 5bd7 fffe ;Wait for vpos >= 0x5b and hpos >= 0xd6. 0005ecae: 0180 0000 ;COLOR00 := 0x0000 0005ecb2: 5c43 fffe ;Wait for vpos >= 0x5c and hpos >= 0x42. 0005ecb6: 0180 0057 ;COLOR00 := 0x0057 0005ecba: 5cd7 fffe ;Wait for vpos >= 0x5c and hpos >= 0xd6. 0005ecbe: 0180 0000 ;COLOR00 := 0x0000 0005ecc2: 5d43 fffe ;Wait for vpos >= 0x5d and hpos >= 0x42. 0005ecc6: 0180 0057 ;COLOR00 := 0x0057 0005ecca: 5dd7 fffe ;Wait for vpos >= 0x5d and hpos >= 0xd6. 0005ecce: 0180 0000 ;COLOR00 := 0x0000 0005ecd2: 0192 0264 ;COLOR09 := 0x0264 0005ecd6: 5e43 fffe ;Wait for vpos >= 0x5e and hpos >= 0x42. 0005ecda: 0180 0056 ;COLOR00 := 0x0056 0005ecde: 5ed7 fffe ;Wait for vpos >= 0x5e and hpos >= 0xd6. 0005ece2: 0180 0000 ;COLOR00 := 0x0000 0005ece6: 5f43 fffe ;Wait for vpos >= 0x5f and hpos >= 0x42. 0005ecea: 0180 0056 ;COLOR00 := 0x0056 0005ecee: 010a 0502 ;BPL2MOD := 0x0502 0005ecf2: 5fd7 fffe ;Wait for vpos >= 0x5f and hpos >= 0xd6. 0005ecf6: 0180 0000 ;COLOR00 := 0x0000 0005ecfa: 0194 0050 ;COLOR10 := 0x0050 0005ecfe: 0196 0050 ;COLOR11 := 0x0050 0005ed02: 0198 0554 ;COLOR12 := 0x0554 0005ed06: 019a 0554 ;COLOR13 := 0x0554 0005ed0a: 019c 0143 ;COLOR14 := 0x0143 0005ed0e: 019e 0143 ;COLOR15 := 0x0143 0005ed12: 0182 0aa6 ;COLOR01 := 0x0aa6 0005ed16: 0184 0765 ;COLOR02 := 0x0765 0005ed1a: 0186 0321 ;COLOR03 := 0x0321 0005ed1e: 0188 0543 ;COLOR04 := 0x0543 0005ed22: 018a 0670 ;COLOR05 := 0x0670 0005ed26: 018c 0450 ;COLOR06 := 0x0450 0005ed2a: 010a 0002 ;BPL2MOD := 0x0002 0005ed2e: 00e4 0007 ;BPL2PTH := 0x0007 0005ed32: 00e6 da3a ;BPL2PTL := 0xda3a 0005ed36: 6043 fffe ;Wait for vpos >= 0x60 and hpos >= 0x42. 0005ed3a: 0180 0056 ;COLOR00 := 0x0056 0005ed3e: 018e 0987 ;COLOR07 := 0x0987 0005ed42: 60d7 fffe ;Wait for vpos >= 0x60 and hpos >= 0xd6. 0005ed46: 0180 0000 ;COLOR00 := 0x0000 0005ed4a: 6143 fffe ;Wait for vpos >= 0x61 and hpos >= 0x42. 0005ed4e: 0180 0056 ;COLOR00 := 0x0056 0005ed52: 61d7 fffe ;Wait for vpos >= 0x61 and hpos >= 0xd6. 0005ed56: 0180 0000 ;COLOR00 := 0x0000 0005ed5a: 6243 fffe ;Wait for vpos >= 0x62 and hpos >= 0x42. 0005ed5e: 0180 0056 ;COLOR00 := 0x0056 0005ed62: 62d7 fffe ;Wait for vpos >= 0x62 and hpos >= 0xd6. 0005ed66: 0180 0000 ;COLOR00 := 0x0000 0005ed6a: 6343 fffe ;Wait for vpos >= 0x63 and hpos >= 0x42. 0005ed6e: 0180 0056 ;COLOR00 := 0x0056 0005ed72: 63d7 fffe ;Wait for vpos >= 0x63 and hpos >= 0xd6. 0005ed76: 0180 0000 ;COLOR00 := 0x0000 0005ed7a: 6443 fffe ;Wait for vpos >= 0x64 and hpos >= 0x42. 0005ed7e: 0180 0056 ;COLOR00 := 0x0056 0005ed82: 64d7 fffe ;Wait for vpos >= 0x64 and hpos >= 0xd6. 0005ed86: 0180 0000 ;COLOR00 := 0x0000 0005ed8a: 6543 fffe ;Wait for vpos >= 0x65 and hpos >= 0x42. 0005ed8e: 0180 0056 ;COLOR00 := 0x0056 0005ed92: 65d7 fffe ;Wait for vpos >= 0x65 and hpos >= 0xd6. 0005ed96: 0180 0000 ;COLOR00 := 0x0000 0005ed9a: 6643 fffe ;Wait for vpos >= 0x66 and hpos >= 0x42. 0005ed9e: 0180 0056 ;COLOR00 := 0x0056 0005eda2: 66d7 fffe ;Wait for vpos >= 0x66 and hpos >= 0xd6. 0005eda6: 0180 0000 ;COLOR00 := 0x0000 0005edaa: 6743 fffe ;Wait for vpos >= 0x67 and hpos >= 0x42. 0005edae: 0180 0056 ;COLOR00 := 0x0056 0005edb2: 67d7 fffe ;Wait for vpos >= 0x67 and hpos >= 0xd6. 0005edb6: 0180 0000 ;COLOR00 := 0x0000 0005edba: 0192 0364 ;COLOR09 := 0x0364 0005edbe: 6843 fffe ;Wait for vpos >= 0x68 and hpos >= 0x42. 0005edc2: 0180 0055 ;COLOR00 := 0x0055 0005edc6: 68d7 fffe ;Wait for vpos >= 0x68 and hpos >= 0xd6. 0005edca: 0180 0000 ;COLOR00 := 0x0000 0005edce: 6943 fffe ;Wait for vpos >= 0x69 and hpos >= 0x42. 0005edd2: 0180 0055 ;COLOR00 := 0x0055 0005edd6: 69d7 fffe ;Wait for vpos >= 0x69 and hpos >= 0xd6. 0005edda: 0180 0000 ;COLOR00 := 0x0000 0005edde: 6a43 fffe ;Wait for vpos >= 0x6a and hpos >= 0x42. 0005ede2: 0180 0055 ;COLOR00 := 0x0055 0005ede6: 6ad7 fffe ;Wait for vpos >= 0x6a and hpos >= 0xd6. 0005edea: 0180 0000 ;COLOR00 := 0x0000 0005edee: 6b43 fffe ;Wait for vpos >= 0x6b and hpos >= 0x42. 0005edf2: 0180 0055 ;COLOR00 := 0x0055 0005edf6: 6bd7 fffe ;Wait for vpos >= 0x6b and hpos >= 0xd6. 0005edfa: 0180 0000 ;COLOR00 := 0x0000 0005edfe: 6c43 fffe ;Wait for vpos >= 0x6c and hpos >= 0x42. 0005ee02: 0180 0055 ;COLOR00 := 0x0055 0005ee06: 6cd7 fffe ;Wait for vpos >= 0x6c and hpos >= 0xd6. 0005ee0a: 0180 0000 ;COLOR00 := 0x0000 0005ee0e: 6d43 fffe ;Wait for vpos >= 0x6d and hpos >= 0x42. 0005ee12: 0180 0055 ;COLOR00 := 0x0055 0005ee16: 6dd7 fffe ;Wait for vpos >= 0x6d and hpos >= 0xd6. 0005ee1a: 0180 0000 ;COLOR00 := 0x0000 0005ee1e: 6e43 fffe ;Wait for vpos >= 0x6e and hpos >= 0x42. 0005ee22: 0180 0055 ;COLOR00 := 0x0055 0005ee26: 6ed7 fffe ;Wait for vpos >= 0x6e and hpos >= 0xd6. 0005ee2a: 0180 0000 ;COLOR00 := 0x0000 0005ee2e: 6f43 fffe ;Wait for vpos >= 0x6f and hpos >= 0x42. 0005ee32: 0180 0055 ;COLOR00 := 0x0055 0005ee36: 6fd7 fffe ;Wait for vpos >= 0x6f and hpos >= 0xd6. 0005ee3a: 0180 0000 ;COLOR00 := 0x0000 0005ee3e: 7043 fffe ;Wait for vpos >= 0x70 and hpos >= 0x42. 0005ee42: 0180 0055 ;COLOR00 := 0x0055 0005ee46: 70d7 fffe ;Wait for vpos >= 0x70 and hpos >= 0xd6. 0005ee4a: 0180 0000 ;COLOR00 := 0x0000 0005ee4e: 7143 fffe ;Wait for vpos >= 0x71 and hpos >= 0x42. 0005ee52: 0180 0055 ;COLOR00 := 0x0055 0005ee56: 71d7 fffe ;Wait for vpos >= 0x71 and hpos >= 0xd6. 0005ee5a: 0180 0000 ;COLOR00 := 0x0000 0005ee5e: 0192 0464 ;COLOR09 := 0x0464 0005ee62: 7243 fffe ;Wait for vpos >= 0x72 and hpos >= 0x42. 0005ee66: 0180 0054 ;COLOR00 := 0x0054 0005ee6a: 72d7 fffe ;Wait for vpos >= 0x72 and hpos >= 0xd6. 0005ee6e: 0180 0000 ;COLOR00 := 0x0000 0005ee72: 7343 fffe ;Wait for vpos >= 0x73 and hpos >= 0x42. 0005ee76: 0180 0054 ;COLOR00 := 0x0054 0005ee7a: 73d7 fffe ;Wait for vpos >= 0x73 and hpos >= 0xd6. 0005ee7e: 0180 0000 ;COLOR00 := 0x0000 0005ee82: 7443 fffe ;Wait for vpos >= 0x74 and hpos >= 0x42. 0005ee86: 0180 0054 ;COLOR00 := 0x0054 0005ee8a: 74d7 fffe ;Wait for vpos >= 0x74 and hpos >= 0xd6. 0005ee8e: 0180 0000 ;COLOR00 := 0x0000 0005ee92: 7543 fffe ;Wait for vpos >= 0x75 and hpos >= 0x42. 0005ee96: 0180 0054 ;COLOR00 := 0x0054 0005ee9a: 75d7 fffe ;Wait for vpos >= 0x75 and hpos >= 0xd6. 0005ee9e: 0180 0000 ;COLOR00 := 0x0000 0005eea2: 7643 fffe ;Wait for vpos >= 0x76 and hpos >= 0x42. 0005eea6: 0180 0054 ;COLOR00 := 0x0054 0005eeaa: 76d7 fffe ;Wait for vpos >= 0x76 and hpos >= 0xd6. 0005eeae: 0180 0000 ;COLOR00 := 0x0000 0005eeb2: 7743 fffe ;Wait for vpos >= 0x77 and hpos >= 0x42. 0005eeb6: 0180 0054 ;COLOR00 := 0x0054 0005eeba: 77d7 fffe ;Wait for vpos >= 0x77 and hpos >= 0xd6. 0005eebe: 0180 0000 ;COLOR00 := 0x0000 0005eec2: 7843 fffe ;Wait for vpos >= 0x78 and hpos >= 0x42. 0005eec6: 0180 0054 ;COLOR00 := 0x0054 0005eeca: 78d7 fffe ;Wait for vpos >= 0x78 and hpos >= 0xd6. 0005eece: 0180 0000 ;COLOR00 := 0x0000 0005eed2: 7943 fffe ;Wait for vpos >= 0x79 and hpos >= 0x42. 0005eed6: 0180 0054 ;COLOR00 := 0x0054 0005eeda: 79d7 fffe ;Wait for vpos >= 0x79 and hpos >= 0xd6. 0005eede: 0180 0000 ;COLOR00 := 0x0000 0005eee2: 7a43 fffe ;Wait for vpos >= 0x7a and hpos >= 0x42. 0005eee6: 0180 0054 ;COLOR00 := 0x0054 0005eeea: 7ad7 fffe ;Wait for vpos >= 0x7a and hpos >= 0xd6. 0005eeee: 0180 0000 ;COLOR00 := 0x0000 0005eef2: 7b43 fffe ;Wait for vpos >= 0x7b and hpos >= 0x42. 0005eef6: 0180 0054 ;COLOR00 := 0x0054 0005eefa: 7bd7 fffe ;Wait for vpos >= 0x7b and hpos >= 0xd6. 0005eefe: 0180 0000 ;COLOR00 := 0x0000 0005ef02: 0192 0564 ;COLOR09 := 0x0564 0005ef06: 7c43 fffe ;Wait for vpos >= 0x7c and hpos >= 0x42. 0005ef0a: 0180 0053 ;COLOR00 := 0x0053 0005ef0e: 7cd7 fffe ;Wait for vpos >= 0x7c and hpos >= 0xd6. 0005ef12: 0180 0000 ;COLOR00 := 0x0000 0005ef16: 7d43 fffe ;Wait for vpos >= 0x7d and hpos >= 0x42. 0005ef1a: 0180 0053 ;COLOR00 := 0x0053 0005ef1e: 7dd7 fffe ;Wait for vpos >= 0x7d and hpos >= 0xd6. 0005ef22: 0180 0000 ;COLOR00 := 0x0000 0005ef26: 7e43 fffe ;Wait for vpos >= 0x7e and hpos >= 0x42. 0005ef2a: 0180 0053 ;COLOR00 := 0x0053 0005ef2e: 7ed7 fffe ;Wait for vpos >= 0x7e and hpos >= 0xd6. 0005ef32: 0180 0000 ;COLOR00 := 0x0000 0005ef36: 7f43 fffe ;Wait for vpos >= 0x7f and hpos >= 0x42. 0005ef3a: 0180 0053 ;COLOR00 := 0x0053 0005ef3e: 010a 0502 ;BPL2MOD := 0x0502 0005ef42: 7fd7 fffe ;Wait for vpos >= 0x7f and hpos >= 0xd6. 0005ef46: 0180 0000 ;COLOR00 := 0x0000 0005ef4a: 0194 0764 ;COLOR10 := 0x0764 0005ef4e: 0196 0764 ;COLOR11 := 0x0764 0005ef52: 0198 0554 ;COLOR12 := 0x0554 0005ef56: 019a 0554 ;COLOR13 := 0x0554 0005ef5a: 019c 0143 ;COLOR14 := 0x0143 0005ef5e: 019e 0143 ;COLOR15 := 0x0143 0005ef62: 0182 0aa6 ;COLOR01 := 0x0aa6 0005ef66: 0184 0765 ;COLOR02 := 0x0765 0005ef6a: 0186 0321 ;COLOR03 := 0x0321 0005ef6e: 0188 0543 ;COLOR04 := 0x0543 0005ef72: 018a 0670 ;COLOR05 := 0x0670 0005ef76: 018c 0450 ;COLOR06 := 0x0450 0005ef7a: 010a 0002 ;BPL2MOD := 0x0002 0005ef7e: 00e4 0007 ;BPL2PTH := 0x0007 0005ef82: 00e6 df3a ;BPL2PTL := 0xdf3a 0005ef86: 8043 fffe ;Wait for vpos >= 0x80 and hpos >= 0x42. 0005ef8a: 0180 0053 ;COLOR00 := 0x0053 0005ef8e: 018e 0987 ;COLOR07 := 0x0987 0005ef92: 80d7 fffe ;Wait for vpos >= 0x80 and hpos >= 0xd6. 0005ef96: 0180 0000 ;COLOR00 := 0x0000 0005ef9a: 8143 fffe ;Wait for vpos >= 0x81 and hpos >= 0x42. 0005ef9e: 0180 0053 ;COLOR00 := 0x0053 0005efa2: 81d7 fffe ;Wait for vpos >= 0x81 and hpos >= 0xd6. 0005efa6: 0180 0000 ;COLOR00 := 0x0000 0005efaa: 8243 fffe ;Wait for vpos >= 0x82 and hpos >= 0x42. 0005efae: 0180 0053 ;COLOR00 := 0x0053 0005efb2: 82d7 fffe ;Wait for vpos >= 0x82 and hpos >= 0xd6. 0005efb6: 0180 0000 ;COLOR00 := 0x0000 0005efba: 8343 fffe ;Wait for vpos >= 0x83 and hpos >= 0x42. 0005efbe: 0180 0053 ;COLOR00 := 0x0053 0005efc2: 83d7 fffe ;Wait for vpos >= 0x83 and hpos >= 0xd6. 0005efc6: 0180 0000 ;COLOR00 := 0x0000 0005efca: 8443 fffe ;Wait for vpos >= 0x84 and hpos >= 0x42. 0005efce: 0180 0053 ;COLOR00 := 0x0053 0005efd2: 84d7 fffe ;Wait for vpos >= 0x84 and hpos >= 0xd6. 0005efd6: 0180 0000 ;COLOR00 := 0x0000 0005efda: 8543 fffe ;Wait for vpos >= 0x85 and hpos >= 0x42. 0005efde: 0180 0053 ;COLOR00 := 0x0053 0005efe2: 85d7 fffe ;Wait for vpos >= 0x85 and hpos >= 0xd6. 0005efe6: 0180 0000 ;COLOR00 := 0x0000 0005efea: 0192 0664 ;COLOR09 := 0x0664 0005efee: 8643 fffe ;Wait for vpos >= 0x86 and hpos >= 0x42. 0005eff2: 0180 0153 ;COLOR00 := 0x0153 0005eff6: 86d7 fffe ;Wait for vpos >= 0x86 and hpos >= 0xd6. 0005effa: 0180 0000 ;COLOR00 := 0x0000 0005effe: 8743 fffe ;Wait for vpos >= 0x87 and hpos >= 0x42. 0005f002: 0180 0153 ;COLOR00 := 0x0153 0005f006: 87d7 fffe ;Wait for vpos >= 0x87 and hpos >= 0xd6. 0005f00a: 0180 0000 ;COLOR00 := 0x0000 0005f00e: 8843 fffe ;Wait for vpos >= 0x88 and hpos >= 0x42. 0005f012: 0180 0153 ;COLOR00 := 0x0153 0005f016: 88d7 fffe ;Wait for vpos >= 0x88 and hpos >= 0xd6. 0005f01a: 0180 0000 ;COLOR00 := 0x0000 0005f01e: 8943 fffe ;Wait for vpos >= 0x89 and hpos >= 0x42. 0005f022: 0180 0153 ;COLOR00 := 0x0153 0005f026: 89d7 fffe ;Wait for vpos >= 0x89 and hpos >= 0xd6. 0005f02a: 0180 0000 ;COLOR00 := 0x0000 0005f02e: 8a43 fffe ;Wait for vpos >= 0x8a and hpos >= 0x42. 0005f032: 0180 0153 ;COLOR00 := 0x0153 0005f036: 8ad7 fffe ;Wait for vpos >= 0x8a and hpos >= 0xd6. 0005f03a: 0180 0000 ;COLOR00 := 0x0000 0005f03e: 8b43 fffe ;Wait for vpos >= 0x8b and hpos >= 0x42. 0005f042: 0180 0153 ;COLOR00 := 0x0153 0005f046: 8bd7 fffe ;Wait for vpos >= 0x8b and hpos >= 0xd6. 0005f04a: 0180 0000 ;COLOR00 := 0x0000 0005f04e: 8c43 fffe ;Wait for vpos >= 0x8c and hpos >= 0x42. 0005f052: 0180 0153 ;COLOR00 := 0x0153 0005f056: 8cd7 fffe ;Wait for vpos >= 0x8c and hpos >= 0xd6. 0005f05a: 0180 0000 ;COLOR00 := 0x0000 0005f05e: 8d43 fffe ;Wait for vpos >= 0x8d and hpos >= 0x42. 0005f062: 0180 0153 ;COLOR00 := 0x0153 0005f066: 8dd7 fffe ;Wait for vpos >= 0x8d and hpos >= 0xd6. 0005f06a: 0180 0000 ;COLOR00 := 0x0000 0005f06e: 8e43 fffe ;Wait for vpos >= 0x8e and hpos >= 0x42. 0005f072: 0180 0153 ;COLOR00 := 0x0153 0005f076: 8ed7 fffe ;Wait for vpos >= 0x8e and hpos >= 0xd6. 0005f07a: 0180 0000 ;COLOR00 := 0x0000 0005f07e: 8f43 fffe ;Wait for vpos >= 0x8f and hpos >= 0x42. 0005f082: 0180 0153 ;COLOR00 := 0x0153 0005f086: 8fd7 fffe ;Wait for vpos >= 0x8f and hpos >= 0xd6. 0005f08a: 0180 0000 ;COLOR00 := 0x0000 0005f08e: 0192 0764 ;COLOR09 := 0x0764 0005f092: 9043 fffe ;Wait for vpos >= 0x90 and hpos >= 0x42. 0005f096: 0180 0253 ;COLOR00 := 0x0253 0005f09a: 90d7 fffe ;Wait for vpos >= 0x90 and hpos >= 0xd6. 0005f09e: 0180 0000 ;COLOR00 := 0x0000 0005f0a2: 9143 fffe ;Wait for vpos >= 0x91 and hpos >= 0x42. 0005f0a6: 0180 0253 ;COLOR00 := 0x0253 0005f0aa: 91d7 fffe ;Wait for vpos >= 0x91 and hpos >= 0xd6. 0005f0ae: 0180 0000 ;COLOR00 := 0x0000 0005f0b2: 9243 fffe ;Wait for vpos >= 0x92 and hpos >= 0x42. 0005f0b6: 0180 0253 ;COLOR00 := 0x0253 0005f0ba: 92d7 fffe ;Wait for vpos >= 0x92 and hpos >= 0xd6. 0005f0be: 0180 0000 ;COLOR00 := 0x0000 0005f0c2: 9343 fffe ;Wait for vpos >= 0x93 and hpos >= 0x42. 0005f0c6: 0180 0253 ;COLOR00 := 0x0253 0005f0ca: 93d7 fffe ;Wait for vpos >= 0x93 and hpos >= 0xd6. 0005f0ce: 0180 0000 ;COLOR00 := 0x0000 0005f0d2: 9443 fffe ;Wait for vpos >= 0x94 and hpos >= 0x42. 0005f0d6: 0180 0253 ;COLOR00 := 0x0253 0005f0da: 94d7 fffe ;Wait for vpos >= 0x94 and hpos >= 0xd6. 0005f0de: 0180 0000 ;COLOR00 := 0x0000 0005f0e2: 9543 fffe ;Wait for vpos >= 0x95 and hpos >= 0x42. 0005f0e6: 0180 0253 ;COLOR00 := 0x0253 0005f0ea: 95d7 fffe ;Wait for vpos >= 0x95 and hpos >= 0xd6. 0005f0ee: 0180 0000 ;COLOR00 := 0x0000 0005f0f2: 9643 fffe ;Wait for vpos >= 0x96 and hpos >= 0x42. 0005f0f6: 0180 0253 ;COLOR00 := 0x0253 0005f0fa: 96d7 fffe ;Wait for vpos >= 0x96 and hpos >= 0xd6. 0005f0fe: 0180 0000 ;COLOR00 := 0x0000 0005f102: 9743 fffe ;Wait for vpos >= 0x97 and hpos >= 0x42. 0005f106: 0180 0253 ;COLOR00 := 0x0253 0005f10a: 97d7 fffe ;Wait for vpos >= 0x97 and hpos >= 0xd6. 0005f10e: 0180 0000 ;COLOR00 := 0x0000 0005f112: 9843 fffe ;Wait for vpos >= 0x98 and hpos >= 0x42. 0005f116: 0180 0253 ;COLOR00 := 0x0253 0005f11a: 98d7 fffe ;Wait for vpos >= 0x98 and hpos >= 0xd6. 0005f11e: 0180 0000 ;COLOR00 := 0x0000 0005f122: 9943 fffe ;Wait for vpos >= 0x99 and hpos >= 0x42. 0005f126: 0180 0253 ;COLOR00 := 0x0253 0005f12a: 99d7 fffe ;Wait for vpos >= 0x99 and hpos >= 0xd6. 0005f12e: 0180 0000 ;COLOR00 := 0x0000 0005f132: 0192 0864 ;COLOR09 := 0x0864 0005f136: 9a43 fffe ;Wait for vpos >= 0x9a and hpos >= 0x42. 0005f13a: 0180 0353 ;COLOR00 := 0x0353 0005f13e: 9ad7 fffe ;Wait for vpos >= 0x9a and hpos >= 0xd6. 0005f142: 0180 0000 ;COLOR00 := 0x0000 0005f146: 9b43 fffe ;Wait for vpos >= 0x9b and hpos >= 0x42. 0005f14a: 0180 0353 ;COLOR00 := 0x0353 0005f14e: 9bd7 fffe ;Wait for vpos >= 0x9b and hpos >= 0xd6. 0005f152: 0180 0000 ;COLOR00 := 0x0000 0005f156: 9c43 fffe ;Wait for vpos >= 0x9c and hpos >= 0x42. 0005f15a: 0180 0353 ;COLOR00 := 0x0353 0005f15e: 9cd7 fffe ;Wait for vpos >= 0x9c and hpos >= 0xd6. 0005f162: 0180 0000 ;COLOR00 := 0x0000 0005f166: 9d43 fffe ;Wait for vpos >= 0x9d and hpos >= 0x42. 0005f16a: 0180 0353 ;COLOR00 := 0x0353 0005f16e: 9dd7 fffe ;Wait for vpos >= 0x9d and hpos >= 0xd6. 0005f172: 0180 0000 ;COLOR00 := 0x0000 0005f176: 9e43 fffe ;Wait for vpos >= 0x9e and hpos >= 0x42. 0005f17a: 0180 0353 ;COLOR00 := 0x0353 0005f17e: 9ed7 fffe ;Wait for vpos >= 0x9e and hpos >= 0xd6. 0005f182: 0180 0000 ;COLOR00 := 0x0000 0005f186: 9f43 fffe ;Wait for vpos >= 0x9f and hpos >= 0x42. 0005f18a: 0180 0353 ;COLOR00 := 0x0353 0005f18e: 010a 0502 ;BPL2MOD := 0x0502 0005f192: 9fd7 fffe ;Wait for vpos >= 0x9f and hpos >= 0xd6. 0005f196: 0180 0000 ;COLOR00 := 0x0000 0005f19a: 0194 0764 ;COLOR10 := 0x0764 0005f19e: 0196 0764 ;COLOR11 := 0x0764 0005f1a2: 0198 0554 ;COLOR12 := 0x0554 0005f1a6: 019a 0554 ;COLOR13 := 0x0554 0005f1aa: 019c 0143 ;COLOR14 := 0x0143 0005f1ae: 019e 0143 ;COLOR15 := 0x0143 0005f1b2: 0182 0aa6 ;COLOR01 := 0x0aa6 0005f1b6: 0184 0765 ;COLOR02 := 0x0765 0005f1ba: 0186 0321 ;COLOR03 := 0x0321 0005f1be: 0188 0543 ;COLOR04 := 0x0543 0005f1c2: 018a 0554 ;COLOR05 := 0x0554 0005f1c6: 018c 0733 ;COLOR06 := 0x0733 0005f1ca: 010a 0002 ;BPL2MOD := 0x0002 0005f1ce: 00e4 0007 ;BPL2PTH := 0x0007 0005f1d2: 00e6 e43a ;BPL2PTL := 0xe43a 0005f1d6: a043 fffe ;Wait for vpos >= 0xa0 and hpos >= 0x42. 0005f1da: 0180 0353 ;COLOR00 := 0x0353 0005f1de: 018e 0986 ;COLOR07 := 0x0986 0005f1e2: a0d7 fffe ;Wait for vpos >= 0xa0 and hpos >= 0xd6. 0005f1e6: 0180 0000 ;COLOR00 := 0x0000 0005f1ea: a143 fffe ;Wait for vpos >= 0xa1 and hpos >= 0x42. 0005f1ee: 0180 0353 ;COLOR00 := 0x0353 0005f1f2: a1d7 fffe ;Wait for vpos >= 0xa1 and hpos >= 0xd6. 0005f1f6: 0180 0000 ;COLOR00 := 0x0000 0005f1fa: a243 fffe ;Wait for vpos >= 0xa2 and hpos >= 0x42. 0005f1fe: 0180 0353 ;COLOR00 := 0x0353 0005f202: a2d7 fffe ;Wait for vpos >= 0xa2 and hpos >= 0xd6. 0005f206: 0180 0000 ;COLOR00 := 0x0000 0005f20a: a343 fffe ;Wait for vpos >= 0xa3 and hpos >= 0x42. 0005f20e: 0180 0353 ;COLOR00 := 0x0353 0005f212: a3d7 fffe ;Wait for vpos >= 0xa3 and hpos >= 0xd6. 0005f216: 0180 0000 ;COLOR00 := 0x0000 0005f21a: 0192 0964 ;COLOR09 := 0x0964 0005f21e: a443 fffe ;Wait for vpos >= 0xa4 and hpos >= 0x42. 0005f222: 0180 0453 ;COLOR00 := 0x0453 0005f226: a4d7 fffe ;Wait for vpos >= 0xa4 and hpos >= 0xd6. 0005f22a: 0180 0000 ;COLOR00 := 0x0000 0005f22e: a543 fffe ;Wait for vpos >= 0xa5 and hpos >= 0x42. 0005f232: 0180 0453 ;COLOR00 := 0x0453 0005f236: a5d7 fffe ;Wait for vpos >= 0xa5 and hpos >= 0xd6. 0005f23a: 0180 0000 ;COLOR00 := 0x0000 0005f23e: a643 fffe ;Wait for vpos >= 0xa6 and hpos >= 0x42. 0005f242: 0180 0453 ;COLOR00 := 0x0453 0005f246: a6d7 fffe ;Wait for vpos >= 0xa6 and hpos >= 0xd6. 0005f24a: 0180 0000 ;COLOR00 := 0x0000 0005f24e: a743 fffe ;Wait for vpos >= 0xa7 and hpos >= 0x42. 0005f252: 0180 0453 ;COLOR00 := 0x0453 0005f256: a7d7 fffe ;Wait for vpos >= 0xa7 and hpos >= 0xd6. 0005f25a: 0180 0000 ;COLOR00 := 0x0000 0005f25e: a843 fffe ;Wait for vpos >= 0xa8 and hpos >= 0x42. 0005f262: 0180 0453 ;COLOR00 := 0x0453 0005f266: a8d7 fffe ;Wait for vpos >= 0xa8 and hpos >= 0xd6. 0005f26a: 0180 0000 ;COLOR00 := 0x0000 0005f26e: a943 fffe ;Wait for vpos >= 0xa9 and hpos >= 0x42. 0005f272: 0180 0453 ;COLOR00 := 0x0453 0005f276: a9d7 fffe ;Wait for vpos >= 0xa9 and hpos >= 0xd6. 0005f27a: 0180 0000 ;COLOR00 := 0x0000 0005f27e: aa43 fffe ;Wait for vpos >= 0xaa and hpos >= 0x42. 0005f282: 0180 0453 ;COLOR00 := 0x0453 0005f286: aad7 fffe ;Wait for vpos >= 0xaa and hpos >= 0xd6. 0005f28a: 0180 0000 ;COLOR00 := 0x0000 0005f28e: ab43 fffe ;Wait for vpos >= 0xab and hpos >= 0x42. 0005f292: 0180 0453 ;COLOR00 := 0x0453 0005f296: abd7 fffe ;Wait for vpos >= 0xab and hpos >= 0xd6. 0005f29a: 0180 0000 ;COLOR00 := 0x0000 0005f29e: ac43 fffe ;Wait for vpos >= 0xac and hpos >= 0x42. 0005f2a2: 0180 0453 ;COLOR00 := 0x0453 0005f2a6: acd7 fffe ;Wait for vpos >= 0xac and hpos >= 0xd6. 0005f2aa: 0180 0000 ;COLOR00 := 0x0000 0005f2ae: ad43 fffe ;Wait for vpos >= 0xad and hpos >= 0x42. 0005f2b2: 0180 0453 ;COLOR00 := 0x0453 0005f2b6: add7 fffe ;Wait for vpos >= 0xad and hpos >= 0xd6. 0005f2ba: 0180 0000 ;COLOR00 := 0x0000 0005f2be: 0192 0a64 ;COLOR09 := 0x0a64 0005f2c2: ae43 fffe ;Wait for vpos >= 0xae and hpos >= 0x42. 0005f2c6: 0180 0553 ;COLOR00 := 0x0553 0005f2ca: aed7 fffe ;Wait for vpos >= 0xae and hpos >= 0xd6. 0005f2ce: 0180 0000 ;COLOR00 := 0x0000 0005f2d2: af43 fffe ;Wait for vpos >= 0xaf and hpos >= 0x42. 0005f2d6: 0180 0553 ;COLOR00 := 0x0553 0005f2da: afd7 fffe ;Wait for vpos >= 0xaf and hpos >= 0xd6. 0005f2de: 0180 0000 ;COLOR00 := 0x0000 0005f2e2: b043 fffe ;Wait for vpos >= 0xb0 and hpos >= 0x42. 0005f2e6: 0180 0553 ;COLOR00 := 0x0553 0005f2ea: b0d7 fffe ;Wait for vpos >= 0xb0 and hpos >= 0xd6. 0005f2ee: 0180 0000 ;COLOR00 := 0x0000 0005f2f2: b143 fffe ;Wait for vpos >= 0xb1 and hpos >= 0x42. 0005f2f6: 0180 0553 ;COLOR00 := 0x0553 0005f2fa: b1d7 fffe ;Wait for vpos >= 0xb1 and hpos >= 0xd6. 0005f2fe: 0180 0000 ;COLOR00 := 0x0000 0005f302: b243 fffe ;Wait for vpos >= 0xb2 and hpos >= 0x42. 0005f306: 0180 0553 ;COLOR00 := 0x0553 0005f30a: b2d7 fffe ;Wait for vpos >= 0xb2 and hpos >= 0xd6. 0005f30e: 0180 0000 ;COLOR00 := 0x0000 0005f312: b343 fffe ;Wait for vpos >= 0xb3 and hpos >= 0x42. 0005f316: 0180 0553 ;COLOR00 := 0x0553 0005f31a: b3d7 fffe ;Wait for vpos >= 0xb3 and hpos >= 0xd6. 0005f31e: 0180 0000 ;COLOR00 := 0x0000 0005f322: b443 fffe ;Wait for vpos >= 0xb4 and hpos >= 0x42. 0005f326: 0180 0553 ;COLOR00 := 0x0553 0005f32a: b4d7 fffe ;Wait for vpos >= 0xb4 and hpos >= 0xd6. 0005f32e: 0180 0000 ;COLOR00 := 0x0000 0005f332: b543 fffe ;Wait for vpos >= 0xb5 and hpos >= 0x42. 0005f336: 0180 0553 ;COLOR00 := 0x0553 0005f33a: b5d7 fffe ;Wait for vpos >= 0xb5 and hpos >= 0xd6. 0005f33e: 0180 0000 ;COLOR00 := 0x0000 0005f342: b643 fffe ;Wait for vpos >= 0xb6 and hpos >= 0x42. 0005f346: 0180 0553 ;COLOR00 := 0x0553 0005f34a: b6d7 fffe ;Wait for vpos >= 0xb6 and hpos >= 0xd6. 0005f34e: 0180 0000 ;COLOR00 := 0x0000 0005f352: b743 fffe ;Wait for vpos >= 0xb7 and hpos >= 0x42. 0005f356: 0180 0553 ;COLOR00 := 0x0553 0005f35a: b7d7 fffe ;Wait for vpos >= 0xb7 and hpos >= 0xd6. 0005f35e: 0180 0000 ;COLOR00 := 0x0000 0005f362: 0192 0744 ;COLOR09 := 0x0744 0005f366: b843 fffe ;Wait for vpos >= 0xb8 and hpos >= 0x42. 0005f36a: 0180 0653 ;COLOR00 := 0x0653 0005f36e: b8d7 fffe ;Wait for vpos >= 0xb8 and hpos >= 0xd6. 0005f372: 0180 0000 ;COLOR00 := 0x0000 0005f376: b943 fffe ;Wait for vpos >= 0xb9 and hpos >= 0x42. 0005f37a: 0180 0653 ;COLOR00 := 0x0653 0005f37e: b9d7 fffe ;Wait for vpos >= 0xb9 and hpos >= 0xd6. 0005f382: 0180 0000 ;COLOR00 := 0x0000 0005f386: ba43 fffe ;Wait for vpos >= 0xba and hpos >= 0x42. 0005f38a: 0180 0653 ;COLOR00 := 0x0653 0005f38e: bad7 fffe ;Wait for vpos >= 0xba and hpos >= 0xd6. 0005f392: 0180 0000 ;COLOR00 := 0x0000 0005f396: bb43 fffe ;Wait for vpos >= 0xbb and hpos >= 0x42. 0005f39a: 0180 0653 ;COLOR00 := 0x0653 0005f39e: bbd7 fffe ;Wait for vpos >= 0xbb and hpos >= 0xd6. 0005f3a2: 0180 0000 ;COLOR00 := 0x0000 0005f3a6: bc43 fffe ;Wait for vpos >= 0xbc and hpos >= 0x42. 0005f3aa: 0180 0653 ;COLOR00 := 0x0653 0005f3ae: bcd7 fffe ;Wait for vpos >= 0xbc and hpos >= 0xd6. 0005f3b2: 0180 0000 ;COLOR00 := 0x0000 0005f3b6: bd43 fffe ;Wait for vpos >= 0xbd and hpos >= 0x42. 0005f3ba: 0180 0653 ;COLOR00 := 0x0653 0005f3be: bdd7 fffe ;Wait for vpos >= 0xbd and hpos >= 0xd6. 0005f3c2: 0180 0000 ;COLOR00 := 0x0000 0005f3c6: be43 fffe ;Wait for vpos >= 0xbe and hpos >= 0x42. 0005f3ca: 0180 0653 ;COLOR00 := 0x0653 0005f3ce: bed7 fffe ;Wait for vpos >= 0xbe and hpos >= 0xd6. 0005f3d2: 0180 0000 ;COLOR00 := 0x0000 0005f3d6: bf43 fffe ;Wait for vpos >= 0xbf and hpos >= 0x42. 0005f3da: 0180 0653 ;COLOR00 := 0x0653 0005f3de: 010a 0502 ;BPL2MOD := 0x0502 0005f3e2: bfd7 fffe ;Wait for vpos >= 0xbf and hpos >= 0xd6. 0005f3e6: 0180 0000 ;COLOR00 := 0x0000 0005f3ea: 0194 0775 ;COLOR10 := 0x0775 0005f3ee: 0196 0775 ;COLOR11 := 0x0775 0005f3f2: 0198 0454 ;COLOR12 := 0x0454 0005f3f6: 019a 0454 ;COLOR13 := 0x0454 0005f3fa: 019c 0143 ;COLOR14 := 0x0143 0005f3fe: 019e 0143 ;COLOR15 := 0x0143 0005f402: 0182 0aa6 ;COLOR01 := 0x0aa6 0005f406: 0184 0765 ;COLOR02 := 0x0765 0005f40a: 0186 0321 ;COLOR03 := 0x0321 0005f40e: 0188 0543 ;COLOR04 := 0x0543 0005f412: 018a 0554 ;COLOR05 := 0x0554 0005f416: 018c 0733 ;COLOR06 := 0x0733 0005f41a: 010a 0002 ;BPL2MOD := 0x0002 0005f41e: 00e4 0007 ;BPL2PTH := 0x0007 0005f422: 00e6 e93a ;BPL2PTL := 0xe93a 0005f426: c043 fffe ;Wait for vpos >= 0xc0 and hpos >= 0x42. 0005f42a: 0180 0653 ;COLOR00 := 0x0653 0005f42e: 018e 0986 ;COLOR07 := 0x0986 0005f432: c0d7 fffe ;Wait for vpos >= 0xc0 and hpos >= 0xd6. 0005f436: 0180 0000 ;COLOR00 := 0x0000 0005f43a: c143 fffe ;Wait for vpos >= 0xc1 and hpos >= 0x42. 0005f43e: 0180 0653 ;COLOR00 := 0x0653 0005f442: c1d7 fffe ;Wait for vpos >= 0xc1 and hpos >= 0xd6. 0005f446: 0180 0000 ;COLOR00 := 0x0000 0005f44a: 0192 0644 ;COLOR09 := 0x0644 0005f44e: c243 fffe ;Wait for vpos >= 0xc2 and hpos >= 0x42. 0005f452: 0180 0753 ;COLOR00 := 0x0753 0005f456: c2d7 fffe ;Wait for vpos >= 0xc2 and hpos >= 0xd6. 0005f45a: 0180 0000 ;COLOR00 := 0x0000 0005f45e: c343 fffe ;Wait for vpos >= 0xc3 and hpos >= 0x42. 0005f462: 0180 0753 ;COLOR00 := 0x0753 0005f466: c3d7 fffe ;Wait for vpos >= 0xc3 and hpos >= 0xd6. 0005f46a: 0180 0000 ;COLOR00 := 0x0000 0005f46e: c443 fffe ;Wait for vpos >= 0xc4 and hpos >= 0x42. 0005f472: 0180 0753 ;COLOR00 := 0x0753 0005f476: c4d7 fffe ;Wait for vpos >= 0xc4 and hpos >= 0xd6. 0005f47a: 0180 0000 ;COLOR00 := 0x0000 0005f47e: c543 fffe ;Wait for vpos >= 0xc5 and hpos >= 0x42. 0005f482: 0180 0753 ;COLOR00 := 0x0753 0005f486: c5d7 fffe ;Wait for vpos >= 0xc5 and hpos >= 0xd6. 0005f48a: 0180 0000 ;COLOR00 := 0x0000 0005f48e: c643 fffe ;Wait for vpos >= 0xc6 and hpos >= 0x42. 0005f492: 0180 0753 ;COLOR00 := 0x0753 0005f496: c6d7 fffe ;Wait for vpos >= 0xc6 and hpos >= 0xd6. 0005f49a: 0180 0000 ;COLOR00 := 0x0000 0005f49e: c743 fffe ;Wait for vpos >= 0xc7 and hpos >= 0x42. 0005f4a2: 0180 0753 ;COLOR00 := 0x0753 0005f4a6: c7d7 fffe ;Wait for vpos >= 0xc7 and hpos >= 0xd6. 0005f4aa: 0180 0000 ;COLOR00 := 0x0000 0005f4ae: c843 fffe ;Wait for vpos >= 0xc8 and hpos >= 0x42. 0005f4b2: 0180 0753 ;COLOR00 := 0x0753 0005f4b6: c8d7 fffe ;Wait for vpos >= 0xc8 and hpos >= 0xd6. 0005f4ba: 0180 0000 ;COLOR00 := 0x0000 0005f4be: c943 fffe ;Wait for vpos >= 0xc9 and hpos >= 0x42. 0005f4c2: 0180 0753 ;COLOR00 := 0x0753 0005f4c6: c9d7 fffe ;Wait for vpos >= 0xc9 and hpos >= 0xd6. 0005f4ca: 0180 0000 ;COLOR00 := 0x0000 0005f4ce: ca43 fffe ;Wait for vpos >= 0xca and hpos >= 0x42. 0005f4d2: 0180 0753 ;COLOR00 := 0x0753 0005f4d6: cad7 fffe ;Wait for vpos >= 0xca and hpos >= 0xd6. 0005f4da: 0180 0000 ;COLOR00 := 0x0000 0005f4de: cb43 fffe ;Wait for vpos >= 0xcb and hpos >= 0x42. 0005f4e2: 0180 0753 ;COLOR00 := 0x0753 0005f4e6: cbd7 fffe ;Wait for vpos >= 0xcb and hpos >= 0xd6. 0005f4ea: 0180 0000 ;COLOR00 := 0x0000 0005f4ee: 0192 0544 ;COLOR09 := 0x0544 0005f4f2: cc43 fffe ;Wait for vpos >= 0xcc and hpos >= 0x42. 0005f4f6: 0180 0853 ;COLOR00 := 0x0853 0005f4fa: ccd7 fffe ;Wait for vpos >= 0xcc and hpos >= 0xd6. 0005f4fe: 0180 0000 ;COLOR00 := 0x0000 0005f502: cd43 fffe ;Wait for vpos >= 0xcd and hpos >= 0x42. 0005f506: 0180 0853 ;COLOR00 := 0x0853 0005f50a: cdd7 fffe ;Wait for vpos >= 0xcd and hpos >= 0xd6. 0005f50e: 0180 0000 ;COLOR00 := 0x0000 0005f512: ce43 fffe ;Wait for vpos >= 0xce and hpos >= 0x42. 0005f516: 0180 0853 ;COLOR00 := 0x0853 0005f51a: ced7 fffe ;Wait for vpos >= 0xce and hpos >= 0xd6. 0005f51e: 0180 0000 ;COLOR00 := 0x0000 0005f522: cf43 fffe ;Wait for vpos >= 0xcf and hpos >= 0x42. 0005f526: 0180 0853 ;COLOR00 := 0x0853 0005f52a: cfd7 fffe ;Wait for vpos >= 0xcf and hpos >= 0xd6. 0005f52e: 0180 0000 ;COLOR00 := 0x0000 0005f532: d043 fffe ;Wait for vpos >= 0xd0 and hpos >= 0x42. 0005f536: 0180 0853 ;COLOR00 := 0x0853 0005f53a: d0d7 fffe ;Wait for vpos >= 0xd0 and hpos >= 0xd6. 0005f53e: 0180 0000 ;COLOR00 := 0x0000 0005f542: d143 fffe ;Wait for vpos >= 0xd1 and hpos >= 0x42. 0005f546: 0180 0853 ;COLOR00 := 0x0853 0005f54a: d1d7 fffe ;Wait for vpos >= 0xd1 and hpos >= 0xd6. 0005f54e: 0180 0000 ;COLOR00 := 0x0000 0005f552: d243 fffe ;Wait for vpos >= 0xd2 and hpos >= 0x42. 0005f556: 0180 0853 ;COLOR00 := 0x0853 0005f55a: d2d7 fffe ;Wait for vpos >= 0xd2 and hpos >= 0xd6. 0005f55e: 0180 0000 ;COLOR00 := 0x0000 0005f562: d343 fffe ;Wait for vpos >= 0xd3 and hpos >= 0x42. 0005f566: 0180 0853 ;COLOR00 := 0x0853 0005f56a: d3d7 fffe ;Wait for vpos >= 0xd3 and hpos >= 0xd6. 0005f56e: 0180 0000 ;COLOR00 := 0x0000 0005f572: d443 fffe ;Wait for vpos >= 0xd4 and hpos >= 0x42. 0005f576: 0180 0853 ;COLOR00 := 0x0853 0005f57a: d4d7 fffe ;Wait for vpos >= 0xd4 and hpos >= 0xd6. 0005f57e: 0180 0000 ;COLOR00 := 0x0000 0005f582: d543 fffe ;Wait for vpos >= 0xd5 and hpos >= 0x42. 0005f586: 0180 0853 ;COLOR00 := 0x0853 0005f58a: d5d7 fffe ;Wait for vpos >= 0xd5 and hpos >= 0xd6. 0005f58e: 0180 0000 ;COLOR00 := 0x0000 0005f592: 0192 0444 ;COLOR09 := 0x0444 0005f596: d643 fffe ;Wait for vpos >= 0xd6 and hpos >= 0x42. 0005f59a: 0180 0953 ;COLOR00 := 0x0953 0005f59e: d6d7 fffe ;Wait for vpos >= 0xd6 and hpos >= 0xd6. 0005f5a2: 0180 0000 ;COLOR00 := 0x0000 0005f5a6: d743 fffe ;Wait for vpos >= 0xd7 and hpos >= 0x42. 0005f5aa: 0180 0953 ;COLOR00 := 0x0953 0005f5ae: d7d7 fffe ;Wait for vpos >= 0xd7 and hpos >= 0xd6. 0005f5b2: 0180 0000 ;COLOR00 := 0x0000 0005f5b6: d843 fffe ;Wait for vpos >= 0xd8 and hpos >= 0x42. 0005f5ba: 0180 0953 ;COLOR00 := 0x0953 0005f5be: d8d7 fffe ;Wait for vpos >= 0xd8 and hpos >= 0xd6. 0005f5c2: 0180 0000 ;COLOR00 := 0x0000 0005f5c6: d943 fffe ;Wait for vpos >= 0xd9 and hpos >= 0x42. 0005f5ca: 0180 0953 ;COLOR00 := 0x0953 0005f5ce: d9d7 fffe ;Wait for vpos >= 0xd9 and hpos >= 0xd6. 0005f5d2: 0180 0000 ;COLOR00 := 0x0000 0005f5d6: da43 fffe ;Wait for vpos >= 0xda and hpos >= 0x42. 0005f5da: 0180 0953 ;COLOR00 := 0x0953 0005f5de: dad7 fffe ;Wait for vpos >= 0xda and hpos >= 0xd6. 0005f5e2: 0180 0000 ;COLOR00 := 0x0000 0005f5e6: db43 fffe ;Wait for vpos >= 0xdb and hpos >= 0x42. 0005f5ea: 0180 0953 ;COLOR00 := 0x0953 0005f5ee: dbd7 fffe ;Wait for vpos >= 0xdb and hpos >= 0xd6. 0005f5f2: 0180 0000 ;COLOR00 := 0x0000 0005f5f6: dc43 fffe ;Wait for vpos >= 0xdc and hpos >= 0x42. 0005f5fa: 0180 0953 ;COLOR00 := 0x0953 0005f5fe: dcd7 fffe ;Wait for vpos >= 0xdc and hpos >= 0xd6. 0005f602: 0180 0000 ;COLOR00 := 0x0000 0005f606: dd43 fffe ;Wait for vpos >= 0xdd and hpos >= 0x42. 0005f60a: 0180 0953 ;COLOR00 := 0x0953 0005f60e: ddd7 fffe ;Wait for vpos >= 0xdd and hpos >= 0xd6. 0005f612: 0180 0000 ;COLOR00 := 0x0000 0005f616: de43 fffe ;Wait for vpos >= 0xde and hpos >= 0x42. 0005f61a: 0180 0953 ;COLOR00 := 0x0953 0005f61e: ded7 fffe ;Wait for vpos >= 0xde and hpos >= 0xd6. 0005f622: 0180 0000 ;COLOR00 := 0x0000 0005f626: df43 fffe ;Wait for vpos >= 0xdf and hpos >= 0x42. 0005f62a: 0180 0444 ;COLOR00 := 0x0444 0005f62e: 010a 0502 ;BPL2MOD := 0x0502 0005f632: dfd7 fffe ;Wait for vpos >= 0xdf and hpos >= 0xd6. 0005f636: 0180 0000 ;COLOR00 := 0x0000 0005f63a: 0194 0686 ;COLOR10 := 0x0686 0005f63e: 0196 0686 ;COLOR11 := 0x0686 0005f642: 0198 0265 ;COLOR12 := 0x0265 0005f646: 019a 0265 ;COLOR13 := 0x0265 0005f64a: 019c 0143 ;COLOR14 := 0x0143 0005f64e: 019e 0143 ;COLOR15 := 0x0143 0005f652: 0182 0aa6 ;COLOR01 := 0x0aa6 0005f656: 0184 0765 ;COLOR02 := 0x0765 0005f65a: 0186 0321 ;COLOR03 := 0x0321 0005f65e: 0188 0964 ;COLOR04 := 0x0964 0005f662: 018a 0554 ;COLOR05 := 0x0554 0005f666: 018c 0733 ;COLOR06 := 0x0733 0005f66a: 010a 0002 ;BPL2MOD := 0x0002 0005f66e: 00e4 0007 ;BPL2PTH := 0x0007 0005f672: 00e6 ee3a ;BPL2PTL := 0xee3a 0005f676: e043 fffe ;Wait for vpos >= 0xe0 and hpos >= 0x42. - Water starts here! 0005f67a: 0180 0344 ;COLOR00 := 0x0344 0005f67e: 018e 0986 ;COLOR07 := 0x0986 0005f682: e0d7 fffe ;Wait for vpos >= 0xe0 and hpos >= 0xd6. 0005f686: 0180 0000 ;COLOR00 := 0x0000 0005f68a: e143 fffe ;Wait for vpos >= 0xe1 and hpos >= 0x42. 0005f68e: 0180 0344 ;COLOR00 := 0x0344 0005f692: e1d7 fffe ;Wait for vpos >= 0xe1 and hpos >= 0xd6. 0005f696: 0180 0000 ;COLOR00 := 0x0000 0005f69a: e243 fffe ;Wait for vpos >= 0xe2 and hpos >= 0x42. 0005f69e: 0180 0344 ;COLOR00 := 0x0344 0005f6a2: e2d7 fffe ;Wait for vpos >= 0xe2 and hpos >= 0xd6. 0005f6a6: 0180 0000 ;COLOR00 := 0x0000 0005f6aa: e343 fffe ;Wait for vpos >= 0xe3 and hpos >= 0x42. 0005f6ae: 0180 0344 ;COLOR00 := 0x0344 0005f6b2: e3d7 fffe ;Wait for vpos >= 0xe3 and hpos >= 0xd6. 0005f6b6: 0180 0000 ;COLOR00 := 0x0000 0005f6ba: e443 fffe ;Wait for vpos >= 0xe4 and hpos >= 0x42. 0005f6be: 0180 0344 ;COLOR00 := 0x0344 0005f6c2: e4d7 fffe ;Wait for vpos >= 0xe4 and hpos >= 0xd6. 0005f6c6: 0180 0000 ;COLOR00 := 0x0000 0005f6ca: e543 fffe ;Wait for vpos >= 0xe5 and hpos >= 0x42. 0005f6ce: 0180 0344 ;COLOR00 := 0x0344 0005f6d2: e5d7 fffe ;Wait for vpos >= 0xe5 and hpos >= 0xd6. 0005f6d6: 0180 0000 ;COLOR00 := 0x0000 0005f6da: e643 fffe ;Wait for vpos >= 0xe6 and hpos >= 0x42. 0005f6de: 0180 0344 ;COLOR00 := 0x0344 0005f6e2: e6d7 fffe ;Wait for vpos >= 0xe6 and hpos >= 0xd6. 0005f6e6: 0180 0000 ;COLOR00 := 0x0000 0005f6ea: e743 fffe ;Wait for vpos >= 0xe7 and hpos >= 0x42. 0005f6ee: 0180 0344 ;COLOR00 := 0x0344 0005f6f2: e7d7 fffe ;Wait for vpos >= 0xe7 and hpos >= 0xd6. 0005f6f6: 0180 0000 ;COLOR00 := 0x0000 0005f6fa: e843 fffe ;Wait for vpos >= 0xe8 and hpos >= 0x42. 0005f6fe: 0180 0344 ;COLOR00 := 0x0344 0005f702: e8d7 fffe ;Wait for vpos >= 0xe8 and hpos >= 0xd6. 0005f706: 0180 0000 ;COLOR00 := 0x0000 0005f70a: e943 fffe ;Wait for vpos >= 0xe9 and hpos >= 0x42. 0005f70e: 0180 0344 ;COLOR00 := 0x0344 0005f712: e9d7 fffe ;Wait for vpos >= 0xe9 and hpos >= 0xd6. 0005f716: 0180 0000 ;COLOR00 := 0x0000 0005f71a: ea43 fffe ;Wait for vpos >= 0xea and hpos >= 0x42. 0005f71e: 0180 0244 ;COLOR00 := 0x0244 0005f722: ead7 fffe ;Wait for vpos >= 0xea and hpos >= 0xd6. 0005f726: 0180 0000 ;COLOR00 := 0x0000 0005f72a: eb43 fffe ;Wait for vpos >= 0xeb and hpos >= 0x42. 0005f72e: 0180 0244 ;COLOR00 := 0x0244 0005f732: ebd7 fffe ;Wait for vpos >= 0xeb and hpos >= 0xd6. 0005f736: 0180 0000 ;COLOR00 := 0x0000 0005f73a: ec43 fffe ;Wait for vpos >= 0xec and hpos >= 0x42. 0005f73e: 0180 0244 ;COLOR00 := 0x0244 0005f742: ecd7 fffe ;Wait for vpos >= 0xec and hpos >= 0xd6. 0005f746: 0180 0000 ;COLOR00 := 0x0000 0005f74a: ed43 fffe ;Wait for vpos >= 0xed and hpos >= 0x42. 0005f74e: 0180 0244 ;COLOR00 := 0x0244 0005f752: edd7 fffe ;Wait for vpos >= 0xed and hpos >= 0xd6. 0005f756: 0180 0000 ;COLOR00 := 0x0000 0005f75a: ee43 fffe ;Wait for vpos >= 0xee and hpos >= 0x42. 0005f75e: 0180 0244 ;COLOR00 := 0x0244 0005f762: eed7 fffe ;Wait for vpos >= 0xee and hpos >= 0xd6. 0005f766: 0180 0000 ;COLOR00 := 0x0000 0005f76a: ef43 fffe ;Wait for vpos >= 0xef and hpos >= 0x42. 0005f76e: 0180 0244 ;COLOR00 := 0x0244 0005f772: efd7 fffe ;Wait for vpos >= 0xef and hpos >= 0xd6. 0005f776: 0180 0000 ;COLOR00 := 0x0000 0005f77a: f043 fffe ;Wait for vpos >= 0xf0 and hpos >= 0x42. 0005f77e: 0180 0244 ;COLOR00 := 0x0244 0005f782: f0d7 fffe ;Wait for vpos >= 0xf0 and hpos >= 0xd6. 0005f786: 0180 0000 ;COLOR00 := 0x0000 0005f78a: f143 fffe ;Wait for vpos >= 0xf1 and hpos >= 0x42. 0005f78e: 0180 0244 ;COLOR00 := 0x0244 0005f792: f1d7 fffe ;Wait for vpos >= 0xf1 and hpos >= 0xd6. 0005f796: 0180 0000 ;COLOR00 := 0x0000 0005f79a: f243 fffe ;Wait for vpos >= 0xf2 and hpos >= 0x42. 0005f79e: 0180 0244 ;COLOR00 := 0x0244 0005f7a2: f2d7 fffe ;Wait for vpos >= 0xf2 and hpos >= 0xd6. 0005f7a6: 0180 0000 ;COLOR00 := 0x0000 0005f7aa: f343 fffe ;Wait for vpos >= 0xf3 and hpos >= 0x42. 0005f7ae: 0180 0244 ;COLOR00 := 0x0244 0005f7b2: f3d7 fffe ;Wait for vpos >= 0xf3 and hpos >= 0xd6. 0005f7b6: 0180 0000 ;COLOR00 := 0x0000 0005f7ba: f443 fffe ;Wait for vpos >= 0xf4 and hpos >= 0x42. 0005f7be: 0180 0144 ;COLOR00 := 0x0144 0005f7c2: f4d7 fffe ;Wait for vpos >= 0xf4 and hpos >= 0xd6. 0005f7c6: 0180 0000 ;COLOR00 := 0x0000 0005f7ca: f543 fffe ;Wait for vpos >= 0xf5 and hpos >= 0x42. 0005f7ce: 0180 0144 ;COLOR00 := 0x0144 0005f7d2: f5d7 fffe ;Wait for vpos >= 0xf5 and hpos >= 0xd6. 0005f7d6: 0180 0000 ;COLOR00 := 0x0000 0005f7da: f643 fffe ;Wait for vpos >= 0xf6 and hpos >= 0x42. 0005f7de: 0180 0144 ;COLOR00 := 0x0144 0005f7e2: f6d7 fffe ;Wait for vpos >= 0xf6 and hpos >= 0xd6. 0005f7e6: 0180 0000 ;COLOR00 := 0x0000 0005f7ea: f743 fffe ;Wait for vpos >= 0xf7 and hpos >= 0x42. 0005f7ee: 0180 0144 ;COLOR00 := 0x0144 0005f7f2: f7d7 fffe ;Wait for vpos >= 0xf7 and hpos >= 0xd6. 0005f7f6: 0180 0000 ;COLOR00 := 0x0000 0005f7fa: f843 fffe ;Wait for vpos >= 0xf8 and hpos >= 0x42. 0005f7fe: 0180 0144 ;COLOR00 := 0x0144 0005f802: f8d7 fffe ;Wait for vpos >= 0xf8 and hpos >= 0xd6. 0005f806: 0180 0000 ;COLOR00 := 0x0000 0005f80a: f943 fffe ;Wait for vpos >= 0xf9 and hpos >= 0x42. 0005f80e: 0180 0144 ;COLOR00 := 0x0144 0005f812: f9d7 fffe ;Wait for vpos >= 0xf9 and hpos >= 0xd6. 0005f816: 0180 0000 ;COLOR00 := 0x0000 0005f81a: fa43 fffe ;Wait for vpos >= 0xfa and hpos >= 0x42. 0005f81e: 0180 0144 ;COLOR00 := 0x0144 0005f822: fad7 fffe ;Wait for vpos >= 0xfa and hpos >= 0xd6. 0005f826: 0180 0000 ;COLOR00 := 0x0000 0005f82a: fb43 fffe ;Wait for vpos >= 0xfb and hpos >= 0x42. 0005f82e: 0180 0144 ;COLOR00 := 0x0144 0005f832: fbd7 fffe ;Wait for vpos >= 0xfb and hpos >= 0xd6. 0005f836: 0180 0000 ;COLOR00 := 0x0000 0005f83a: fc43 fffe ;Wait for vpos >= 0xfc and hpos >= 0x42. 0005f83e: 0180 0144 ;COLOR00 := 0x0144 0005f842: fcd7 fffe ;Wait for vpos >= 0xfc and hpos >= 0xd6. 0005f846: 0180 0000 ;COLOR00 := 0x0000 0005f84a: fd43 fffe ;Wait for vpos >= 0xfd and hpos >= 0x42. 0005f84e: 0180 0144 ;COLOR00 := 0x0144 0005f852: fdd7 fffe ;Wait for vpos >= 0xfd and hpos >= 0xd6. 0005f856: 0180 0000 ;COLOR00 := 0x0000 0005f85a: fe43 fffe ;Wait for vpos >= 0xfe and hpos >= 0x42. 0005f85e: 0180 0144 ;COLOR00 := 0x0144 0005f862: fed7 fffe ;Wait for vpos >= 0xfe and hpos >= 0xd6. 0005f866: 0180 0000 ;COLOR00 := 0x0000 0005f86a: ff43 fffe ;Wait for vpos >= 0xff and hpos >= 0x42. 0005f86e: 0180 0144 ;COLOR00 := 0x0144 0005f872: ffd7 fffe ;Wait for vpos >= 0xff and hpos >= 0xd6. 0005f876: 0180 0000 ;COLOR00 := 0x0000 0005f87a: 0084 0005 ;COP2LCH := 0x0005 0005f87e: 0086 f88a ;COP2LCL := 0xf88a 0005f882: 009c 8010 ;INTREQ := 0x8010 0005f886: ffff fffe ;Wait for vpos >= 0xff and hpos >= 0xfe. ;End of Copperlist 0005f88a: 0192 0166 ;COLOR09 := 0x0166 0005f88e: 4043 fffe ;Wait for vpos >= 0x40 and hpos >= 0x42. 0005f892: 0180 0059 ;COLOR00 := 0x0059 0005f896: 40d7 fffe ;Wait for vpos >= 0x40 and hpos >= 0xd6. 0005f89a: 0180 0000 ;COLOR00 := 0x0000 0005f89e: 4143 fffe ;Wait for vpos >= 0x41 and hpos >= 0x42. 0005f8a2: 0180 0059 ;COLOR00 := 0x0059 0005f8a6: 41d7 fffe ;Wait for vpos >= 0x41 and hpos >= 0xd6. 0005f8aa: 0180 0000 ;COLOR00 := 0x0000 0005f8ae: 4243 fffe ;Wait for vpos >= 0x42 and hpos >= 0x42. 0005f8b2: 0180 0059 ;COLOR00 := 0x0059 0005f8b6: 42d7 fffe ;Wait for vpos >= 0x42 and hpos >= 0xd6. 0005f8ba: 0180 0000 ;COLOR00 := 0x0000 0005f8be: 4343 fffe ;Wait for vpos >= 0x43 and hpos >= 0x42. 0005f8c2: 0180 0059 ;COLOR00 := 0x0059 0005f8c6: 43d7 fffe ;Wait for vpos >= 0x43 and hpos >= 0xd6. 0005f8ca: 0180 0000 ;COLOR00 := 0x0000 0005f8ce: 4443 fffe ;Wait for vpos >= 0x44 and hpos >= 0x42. 0005f8d2: 0180 0059 ;COLOR00 := 0x0059 0005f8d6: 44d7 fffe ;Wait for vpos >= 0x44 and hpos >= 0xd6. 0005f8da: 0180 0000 ;COLOR00 := 0x0000 0005f8de: 4543 fffe ;Wait for vpos >= 0x45 and hpos >= 0x42. 0005f8e2: 0180 0059 ;COLOR00 := 0x0059 0005f8e6: 45d7 fffe ;Wait for vpos >= 0x45 and hpos >= 0xd6. 0005f8ea: 0180 0000 ;COLOR00 := 0x0000 0005f8ee: 4643 fffe ;Wait for vpos >= 0x46 and hpos >= 0x42. 0005f8f2: 0180 0059 ;COLOR00 := 0x0059 0005f8f6: 46d7 fffe ;Wait for vpos >= 0x46 and hpos >= 0xd6. 0005f8fa: 0180 0000 ;COLOR00 := 0x0000 0005f8fe: 4743 fffe ;Wait for vpos >= 0x47 and hpos >= 0x42. 0005f902: 0180 0059 ;COLOR00 := 0x0059 0005f906: 47d7 fffe ;Wait for vpos >= 0x47 and hpos >= 0xd6. 0005f90a: 0180 0000 ;COLOR00 := 0x0000 0005f90e: 4843 fffe ;Wait for vpos >= 0x48 and hpos >= 0x42. 0005f912: 0180 0059 ;COLOR00 := 0x0059 0005f916: 48d7 fffe ;Wait for vpos >= 0x48 and hpos >= 0xd6. 0005f91a: 0180 0000 ;COLOR00 := 0x0000 0005f91e: 4943 fffe ;Wait for vpos >= 0x49 and hpos >= 0x42. 0005f922: 0180 0059 ;COLOR00 := 0x0059 0005f926: 49d7 fffe ;Wait for vpos >= 0x49 and hpos >= 0xd6. 0005f92a: 0180 0000 ;COLOR00 := 0x0000 0005f92e: 4a43 fffe ;Wait for vpos >= 0x4a and hpos >= 0x42. 0005f932: 0180 0059 ;COLOR00 := 0x0059 0005f936: 4ad7 fffe ;Wait for vpos >= 0x4a and hpos >= 0xd6. 0005f93a: 0180 0000 ;COLOR00 := 0x0000 0005f93e: 4b43 fffe ;Wait for vpos >= 0x4b and hpos >= 0x42. 0005f942: 0180 0059 ;COLOR00 := 0x0059 0005f946: 4bd7 fffe ;Wait for vpos >= 0x4b and hpos >= 0xd6. 0005f94a: 0180 0000 ;COLOR00 := 0x0000 0005f94e: 4c43 fffe ;Wait for vpos >= 0x4c and hpos >= 0x42. 0005f952: 0180 0059 ;COLOR00 := 0x0059 0005f956: 4cd7 fffe ;Wait for vpos >= 0x4c and hpos >= 0xd6. 0005f95a: 0180 0000 ;COLOR00 := 0x0000 0005f95e: 4d43 fffe ;Wait for vpos >= 0x4d and hpos >= 0x42. 0005f962: 0180 0059 ;COLOR00 := 0x0059 0005f966: 4dd7 fffe ;Wait for vpos >= 0x4d and hpos >= 0xd6. 0005f96a: 0180 0000 ;COLOR00 := 0x0000 0005f96e: 4e43 fffe ;Wait for vpos >= 0x4e and hpos >= 0x42. 0005f972: 0180 0059 ;COLOR00 := 0x0059 0005f976: 4ed7 fffe ;Wait for vpos >= 0x4e and hpos >= 0xd6. 0005f97a: 0180 0000 ;COLOR00 := 0x0000 0005f97e: 0192 0165 ;COLOR09 := 0x0165 0005f982: 4f43 fffe ;Wait for vpos >= 0x4f and hpos >= 0x42. 0005f986: 0180 0058 ;COLOR00 := 0x0058 0005f98a: 4fd7 fffe ;Wait for vpos >= 0x4f and hpos >= 0xd6. 0005f98e: 0180 0000 ;COLOR00 := 0x0000 0005f992: 5043 fffe ;Wait for vpos >= 0x50 and hpos >= 0x42. 0005f996: 0180 0058 ;COLOR00 := 0x0058 0005f99a: 50d7 fffe ;Wait for vpos >= 0x50 and hpos >= 0xd6. 0005f99e: 0180 0000 ;COLOR00 := 0x0000 0005f9a2: 5143 fffe ;Wait for vpos >= 0x51 and hpos >= 0x42. 0005f9a6: 0180 0058 ;COLOR00 := 0x0058 0005f9aa: 51d7 fffe ;Wait for vpos >= 0x51 and hpos >= 0xd6. 0005f9ae: 0180 0000 ;COLOR00 := 0x0000 0005f9b2: 5243 fffe ;Wait for vpos >= 0x52 and hpos >= 0x42. 0005f9b6: 0180 0058 ;COLOR00 := 0x0058 0005f9ba: 52d7 fffe ;Wait for vpos >= 0x52 and hpos >= 0xd6. 0005f9be: 0180 0000 ;COLOR00 := 0x0000 0005f9c2: 5343 fffe ;Wait for vpos >= 0x53 and hpos >= 0x42. 0005f9c6: 0180 0058 ;COLOR00 := 0x0058 0005f9ca: 53d7 fffe ;Wait for vpos >= 0x53 and hpos >= 0xd6. 0005f9ce: 0180 0000 ;COLOR00 := 0x0000 0005f9d2: 5443 fffe ;Wait for vpos >= 0x54 and hpos >= 0x42. 0005f9d6: 0180 0058 ;COLOR00 := 0x0058 0005f9da: 54d7 fffe ;Wait for vpos >= 0x54 and hpos >= 0xd6. 0005f9de: 0180 0000 ;COLOR00 := 0x0000 0005f9e2: 5543 fffe ;Wait for vpos >= 0x55 and hpos >= 0x42. 0005f9e6: 0180 0058 ;COLOR00 := 0x0058 0005f9ea: 55d7 fffe ;Wait for vpos >= 0x55 and hpos >= 0xd6. 0005f9ee: 0180 0000 ;COLOR00 := 0x0000 0005f9f2: 5643 fffe ;Wait for vpos >= 0x56 and hpos >= 0x42. 0005f9f6: 0180 0058 ;COLOR00 := 0x0058 0005f9fa: 56d7 fffe ;Wait for vpos >= 0x56 and hpos >= 0xd6. 0005f9fe: 0180 0000 ;COLOR00 := 0x0000 0005fa02: 5743 fffe ;Wait for vpos >= 0x57 and hpos >= 0x42. 0005fa06: 0180 0058 ;COLOR00 := 0x0058 0005fa0a: 57d7 fffe ;Wait for vpos >= 0x57 and hpos >= 0xd6. 0005fa0e: 0180 0000 ;COLOR00 := 0x0000 0005fa12: 5843 fffe ;Wait for vpos >= 0x58 and hpos >= 0x42. 0005fa16: 0180 0058 ;COLOR00 := 0x0058 0005fa1a: 58d7 fffe ;Wait for vpos >= 0x58 and hpos >= 0xd6. 0005fa1e: 0180 0000 ;COLOR00 := 0x0000 0005fa22: 0192 0164 ;COLOR09 := 0x0164 0005fa26: 5943 fffe ;Wait for vpos >= 0x59 and hpos >= 0x42. 0005fa2a: 0180 0057 ;COLOR00 := 0x0057 0005fa2e: 59d7 fffe ;Wait for vpos >= 0x59 and hpos >= 0xd6. 0005fa32: 0180 0000 ;COLOR00 := 0x0000 0005fa36: 5a43 fffe ;Wait for vpos >= 0x5a and hpos >= 0x42. 0005fa3a: 0180 0057 ;COLOR00 := 0x0057 0005fa3e: 5ad7 fffe ;Wait for vpos >= 0x5a and hpos >= 0xd6. 0005fa42: 0180 0000 ;COLOR00 := 0x0000 0005fa46: 5b43 fffe ;Wait for vpos >= 0x5b and hpos >= 0x42. 0005fa4a: 0180 0057 ;COLOR00 := 0x0057 0005fa4e: 5bd7 fffe ;Wait for vpos >= 0x5b and hpos >= 0xd6. 0005fa52: 0180 0000 ;COLOR00 := 0x0000 0005fa56: 5c43 fffe ;Wait for vpos >= 0x5c and hpos >= 0x42. 0005fa5a: 0180 0057 ;COLOR00 := 0x0057 0005fa5e: 5cd7 fffe ;Wait for vpos >= 0x5c and hpos >= 0xd6. 0005fa62: 0180 0000 ;COLOR00 := 0x0000 0005fa66: 5d43 fffe ;Wait for vpos >= 0x5d and hpos >= 0x42. 0005fa6a: 0180 0057 ;COLOR00 := 0x0057 0005fa6e: 5dd7 fffe ;Wait for vpos >= 0x5d and hpos >= 0xd6. 0005fa72: 0180 0000 ;COLOR00 := 0x0000 0005fa76: 5e43 fffe ;Wait for vpos >= 0x5e and hpos >= 0x42. 0005fa7a: 0180 0057 ;COLOR00 := 0x0057 0005fa7e: 5ed7 fffe ;Wait for vpos >= 0x5e and hpos >= 0xd6. 0005fa82: 0180 0000 ;COLOR00 := 0x0000 0005fa86: 5f43 fffe ;Wait for vpos >= 0x5f and hpos >= 0x42. 0005fa8a: 0180 0057 ;COLOR00 := 0x0057 0005fa8e: 010a 0502 ;BPL2MOD := 0x0502 0005fa92: 5fd7 fffe ;Wait for vpos >= 0x5f and hpos >= 0xd6. 0005fa96: 0180 0000 ;COLOR00 := 0x0000 0005fa9a: 0194 0050 ;COLOR10 := 0x0050 0005fa9e: 0196 0050 ;COLOR11 := 0x0050 0005faa2: 0198 0554 ;COLOR12 := 0x0554 0005faa6: 019a 0554 ;COLOR13 := 0x0554 0005faaa: 019c 0143 ;COLOR14 := 0x0143 0005faae: 019e 0143 ;COLOR15 := 0x0143 0005fab2: 0182 0aa6 ;COLOR01 := 0x0aa6 0005fab6: 0184 0765 ;COLOR02 := 0x0765 0005faba: 0186 0321 ;COLOR03 := 0x0321 0005fabe: 0188 0543 ;COLOR04 := 0x0543 0005fac2: 018a 0670 ;COLOR05 := 0x0670 0005fac6: 018c 0450 ;COLOR06 := 0x0450 0005faca: 010a 0002 ;BPL2MOD := 0x0002 0005face: 00e4 0007 ;BPL2PTH := 0x0007 0005fad2: 00e6 da3a ;BPL2PTL := 0xda3a 0005fad6: 6043 fffe ;Wait for vpos >= 0x60 and hpos >= 0x42. 0005fada: 0180 0057 ;COLOR00 := 0x0057 0005fade: 018e 0987 ;COLOR07 := 0x0987 0005fae2: 60d7 fffe ;Wait for vpos >= 0x60 and hpos >= 0xd6. 0005fae6: 0180 0000 ;COLOR00 := 0x0000 0005faea: 6143 fffe ;Wait for vpos >= 0x61 and hpos >= 0x42. 0005faee: 0180 0057 ;COLOR00 := 0x0057 0005faf2: 61d7 fffe ;Wait for vpos >= 0x61 and hpos >= 0xd6. 0005faf6: 0180 0000 ;COLOR00 := 0x0000 0005fafa: 6243 fffe ;Wait for vpos >= 0x62 and hpos >= 0x42. 0005fafe: 0180 0057 ;COLOR00 := 0x0057 0005fb02: 62d7 fffe ;Wait for vpos >= 0x62 and hpos >= 0xd6. 0005fb06: 0180 0000 ;COLOR00 := 0x0000 0005fb0a: 0192 0264 ;COLOR09 := 0x0264 0005fb0e: 6343 fffe ;Wait for vpos >= 0x63 and hpos >= 0x42. 0005fb12: 0180 0056 ;COLOR00 := 0x0056 0005fb16: 63d7 fffe ;Wait for vpos >= 0x63 and hpos >= 0xd6. 0005fb1a: 0180 0000 ;COLOR00 := 0x0000 0005fb1e: 6443 fffe ;Wait for vpos >= 0x64 and hpos >= 0x42. 0005fb22: 0180 0056 ;COLOR00 := 0x0056 0005fb26: 64d7 fffe ;Wait for vpos >= 0x64 and hpos >= 0xd6. 0005fb2a: 0180 0000 ;COLOR00 := 0x0000 0005fb2e: 6543 fffe ;Wait for vpos >= 0x65 and hpos >= 0x42. 0005fb32: 0180 0056 ;COLOR00 := 0x0056 0005fb36: 65d7 fffe ;Wait for vpos >= 0x65 and hpos >= 0xd6. 0005fb3a: 0180 0000 ;COLOR00 := 0x0000 0005fb3e: 6643 fffe ;Wait for vpos >= 0x66 and hpos >= 0x42. 0005fb42: 0180 0056 ;COLOR00 := 0x0056 0005fb46: 66d7 fffe ;Wait for vpos >= 0x66 and hpos >= 0xd6. 0005fb4a: 0180 0000 ;COLOR00 := 0x0000 0005fb4e: 6743 fffe ;Wait for vpos >= 0x67 and hpos >= 0x42. 0005fb52: 0180 0056 ;COLOR00 := 0x0056 0005fb56: 67d7 fffe ;Wait for vpos >= 0x67 and hpos >= 0xd6. 0005fb5a: 0180 0000 ;COLOR00 := 0x0000 0005fb5e: 6843 fffe ;Wait for vpos >= 0x68 and hpos >= 0x42. 0005fb62: 0180 0056 ;COLOR00 := 0x0056 0005fb66: 68d7 fffe ;Wait for vpos >= 0x68 and hpos >= 0xd6. 0005fb6a: 0180 0000 ;COLOR00 := 0x0000 0005fb6e: 6943 fffe ;Wait for vpos >= 0x69 and hpos >= 0x42. 0005fb72: 0180 0056 ;COLOR00 := 0x0056 0005fb76: 69d7 fffe ;Wait for vpos >= 0x69 and hpos >= 0xd6. 0005fb7a: 0180 0000 ;COLOR00 := 0x0000 0005fb7e: 6a43 fffe ;Wait for vpos >= 0x6a and hpos >= 0x42. 0005fb82: 0180 0056 ;COLOR00 := 0x0056 0005fb86: 6ad7 fffe ;Wait for vpos >= 0x6a and hpos >= 0xd6. 0005fb8a: 0180 0000 ;COLOR00 := 0x0000 0005fb8e: 6b43 fffe ;Wait for vpos >= 0x6b and hpos >= 0x42. 0005fb92: 0180 0056 ;COLOR00 := 0x0056 0005fb96: 6bd7 fffe ;Wait for vpos >= 0x6b and hpos >= 0xd6. 0005fb9a: 0180 0000 ;COLOR00 := 0x0000 0005fb9e: 6c43 fffe ;Wait for vpos >= 0x6c and hpos >= 0x42. 0005fba2: 0180 0056 ;COLOR00 := 0x0056 0005fba6: 6cd7 fffe ;Wait for vpos >= 0x6c and hpos >= 0xd6. 0005fbaa: 0180 0000 ;COLOR00 := 0x0000 0005fbae: 0192 0364 ;COLOR09 := 0x0364 0005fbb2: 6d43 fffe ;Wait for vpos >= 0x6d and hpos >= 0x42. 0005fbb6: 0180 0055 ;COLOR00 := 0x0055 0005fbba: 6dd7 fffe ;Wait for vpos >= 0x6d and hpos >= 0xd6. 0005fbbe: 0180 0000 ;COLOR00 := 0x0000 0005fbc2: 6e43 fffe ;Wait for vpos >= 0x6e and hpos >= 0x42. 0005fbc6: 0180 0055 ;COLOR00 := 0x0055 0005fbca: 6ed7 fffe ;Wait for vpos >= 0x6e and hpos >= 0xd6. 0005fbce: 0180 0000 ;COLOR00 := 0x0000 0005fbd2: 6f43 fffe ;Wait for vpos >= 0x6f and hpos >= 0x42. 0005fbd6: 0180 0055 ;COLOR00 := 0x0055 0005fbda: 6fd7 fffe ;Wait for vpos >= 0x6f and hpos >= 0xd6. 0005fbde: 0180 0000 ;COLOR00 := 0x0000 0005fbe2: 7043 fffe ;Wait for vpos >= 0x70 and hpos >= 0x42. 0005fbe6: 0180 0055 ;COLOR00 := 0x0055 0005fbea: 70d7 fffe ;Wait for vpos >= 0x70 and hpos >= 0xd6. 0005fbee: 0180 0000 ;COLOR00 := 0x0000 0005fbf2: 7143 fffe ;Wait for vpos >= 0x71 and hpos >= 0x42. 0005fbf6: 0180 0055 ;COLOR00 := 0x0055 0005fbfa: 71d7 fffe ;Wait for vpos >= 0x71 and hpos >= 0xd6. 0005fbfe: 0180 0000 ;COLOR00 := 0x0000 0005fc02: 7243 fffe ;Wait for vpos >= 0x72 and hpos >= 0x42. 0005fc06: 0180 0055 ;COLOR00 := 0x0055 0005fc0a: 72d7 fffe ;Wait for vpos >= 0x72 and hpos >= 0xd6. 0005fc0e: 0180 0000 ;COLOR00 := 0x0000 0005fc12: 7343 fffe ;Wait for vpos >= 0x73 and hpos >= 0x42. 0005fc16: 0180 0055 ;COLOR00 := 0x0055 0005fc1a: 73d7 fffe ;Wait for vpos >= 0x73 and hpos >= 0xd6. 0005fc1e: 0180 0000 ;COLOR00 := 0x0000 0005fc22: 7443 fffe ;Wait for vpos >= 0x74 and hpos >= 0x42. 0005fc26: 0180 0055 ;COLOR00 := 0x0055 0005fc2a: 74d7 fffe ;Wait for vpos >= 0x74 and hpos >= 0xd6. 0005fc2e: 0180 0000 ;COLOR00 := 0x0000 0005fc32: 7543 fffe ;Wait for vpos >= 0x75 and hpos >= 0x42. 0005fc36: 0180 0055 ;COLOR00 := 0x0055 0005fc3a: 75d7 fffe ;Wait for vpos >= 0x75 and hpos >= 0xd6. 0005fc3e: 0180 0000 ;COLOR00 := 0x0000 0005fc42: 7643 fffe ;Wait for vpos >= 0x76 and hpos >= 0x42. 0005fc46: 0180 0055 ;COLOR00 := 0x0055 0005fc4a: 76d7 fffe ;Wait for vpos >= 0x76 and hpos >= 0xd6. 0005fc4e: 0180 0000 ;COLOR00 := 0x0000 0005fc52: 0192 0464 ;COLOR09 := 0x0464 0005fc56: 7743 fffe ;Wait for vpos >= 0x77 and hpos >= 0x42. 0005fc5a: 0180 0054 ;COLOR00 := 0x0054 0005fc5e: 77d7 fffe ;Wait for vpos >= 0x77 and hpos >= 0xd6. 0005fc62: 0180 0000 ;COLOR00 := 0x0000 0005fc66: 7843 fffe ;Wait for vpos >= 0x78 and hpos >= 0x42. 0005fc6a: 0180 0054 ;COLOR00 := 0x0054 0005fc6e: 78d7 fffe ;Wait for vpos >= 0x78 and hpos >= 0xd6. 0005fc72: 0180 0000 ;COLOR00 := 0x0000 0005fc76: 7943 fffe ;Wait for vpos >= 0x79 and hpos >= 0x42. 0005fc7a: 0180 0054 ;COLOR00 := 0x0054 0005fc7e: 79d7 fffe ;Wait for vpos >= 0x79 and hpos >= 0xd6. 0005fc82: 0180 0000 ;COLOR00 := 0x0000 0005fc86: 7a43 fffe ;Wait for vpos >= 0x7a and hpos >= 0x42. 0005fc8a: 0180 0054 ;COLOR00 := 0x0054 0005fc8e: 7ad7 fffe ;Wait for vpos >= 0x7a and hpos >= 0xd6. 0005fc92: 0180 0000 ;COLOR00 := 0x0000 0005fc96: 7b43 fffe ;Wait for vpos >= 0x7b and hpos >= 0x42. 0005fc9a: 0180 0054 ;COLOR00 := 0x0054 0005fc9e: 7bd7 fffe ;Wait for vpos >= 0x7b and hpos >= 0xd6. 0005fca2: 0180 0000 ;COLOR00 := 0x0000 0005fca6: 7c43 fffe ;Wait for vpos >= 0x7c and hpos >= 0x42. 0005fcaa: 0180 0054 ;COLOR00 := 0x0054 0005fcae: 7cd7 fffe ;Wait for vpos >= 0x7c and hpos >= 0xd6. 0005fcb2: 0180 0000 ;COLOR00 := 0x0000 0005fcb6: 7d43 fffe ;Wait for vpos >= 0x7d and hpos >= 0x42. 0005fcba: 0180 0054 ;COLOR00 := 0x0054 0005fcbe: 7dd7 fffe ;Wait for vpos >= 0x7d and hpos >= 0xd6. 0005fcc2: 0180 0000 ;COLOR00 := 0x0000 0005fcc6: 7e43 fffe ;Wait for vpos >= 0x7e and hpos >= 0x42. 0005fcca: 0180 0054 ;COLOR00 := 0x0054 0005fcce: 7ed7 fffe ;Wait for vpos >= 0x7e and hpos >= 0xd6. 0005fcd2: 0180 0000 ;COLOR00 := 0x0000 0005fcd6: 7f43 fffe ;Wait for vpos >= 0x7f and hpos >= 0x42. 0005fcda: 0180 0054 ;COLOR00 := 0x0054 0005fcde: 010a 0502 ;BPL2MOD := 0x0502 0005fce2: 7fd7 fffe ;Wait for vpos >= 0x7f and hpos >= 0xd6. 0005fce6: 0180 0000 ;COLOR00 := 0x0000 0005fcea: 0194 0764 ;COLOR10 := 0x0764 0005fcee: 0196 0764 ;COLOR11 := 0x0764 0005fcf2: 0198 0554 ;COLOR12 := 0x0554 0005fcf6: 019a 0554 ;COLOR13 := 0x0554 0005fcfa: 019c 0143 ;COLOR14 := 0x0143 0005fcfe: 019e 0143 ;COLOR15 := 0x0143 0005fd02: 0182 0aa6 ;COLOR01 := 0x0aa6 0005fd06: 0184 0765 ;COLOR02 := 0x0765 0005fd0a: 0186 0321 ;COLOR03 := 0x0321 0005fd0e: 0188 0543 ;COLOR04 := 0x0543 0005fd12: 018a 0670 ;COLOR05 := 0x0670 0005fd16: 018c 0450 ;COLOR06 := 0x0450 0005fd1a: 010a 0002 ;BPL2MOD := 0x0002 0005fd1e: 00e4 0007 ;BPL2PTH := 0x0007 0005fd22: 00e6 df3a ;BPL2PTL := 0xdf3a 0005fd26: 8043 fffe ;Wait for vpos >= 0x80 and hpos >= 0x42. 0005fd2a: 0180 0054 ;COLOR00 := 0x0054 0005fd2e: 018e 0987 ;COLOR07 := 0x0987 0005fd32: 80d7 fffe ;Wait for vpos >= 0x80 and hpos >= 0xd6. 0005fd36: 0180 0000 ;COLOR00 := 0x0000 0005fd3a: 0192 0564 ;COLOR09 := 0x0564 0005fd3e: 8143 fffe ;Wait for vpos >= 0x81 and hpos >= 0x42. 0005fd42: 0180 0154 ;COLOR00 := 0x0154 0005fd46: 81d7 fffe ;Wait for vpos >= 0x81 and hpos >= 0xd6. 0005fd4a: 0180 0000 ;COLOR00 := 0x0000 0005fd4e: 8243 fffe ;Wait for vpos >= 0x82 and hpos >= 0x42. 0005fd52: 0180 0154 ;COLOR00 := 0x0154 0005fd56: 82d7 fffe ;Wait for vpos >= 0x82 and hpos >= 0xd6. 0005fd5a: 0180 0000 ;COLOR00 := 0x0000 0005fd5e: 8343 fffe ;Wait for vpos >= 0x83 and hpos >= 0x42. 0005fd62: 0180 0154 ;COLOR00 := 0x0154 0005fd66: 83d7 fffe ;Wait for vpos >= 0x83 and hpos >= 0xd6. 0005fd6a: 0180 0000 ;COLOR00 := 0x0000 0005fd6e: 8443 fffe ;Wait for vpos >= 0x84 and hpos >= 0x42. 0005fd72: 0180 0154 ;COLOR00 := 0x0154 0005fd76: 84d7 fffe ;Wait for vpos >= 0x84 and hpos >= 0xd6. 0005fd7a: 0180 0000 ;COLOR00 := 0x0000 0005fd7e: 8543 fffe ;Wait for vpos >= 0x85 and hpos >= 0x42. 0005fd82: 0180 0154 ;COLOR00 := 0x0154 0005fd86: 85d7 fffe ;Wait for vpos >= 0x85 and hpos >= 0xd6. 0005fd8a: 0180 0000 ;COLOR00 := 0x0000 0005fd8e: 8643 fffe ;Wait for vpos >= 0x86 and hpos >= 0x42. 0005fd92: 0180 0154 ;COLOR00 := 0x0154 0005fd96: 86d7 fffe ;Wait for vpos >= 0x86 and hpos >= 0xd6. 0005fd9a: 0180 0000 ;COLOR00 := 0x0000 0005fd9e: 8743 fffe ;Wait for vpos >= 0x87 and hpos >= 0x42. 0005fda2: 0180 0154 ;COLOR00 := 0x0154 0005fda6: 87d7 fffe ;Wait for vpos >= 0x87 and hpos >= 0xd6. 0005fdaa: 0180 0000 ;COLOR00 := 0x0000 0005fdae: 8843 fffe ;Wait for vpos >= 0x88 and hpos >= 0x42. 0005fdb2: 0180 0154 ;COLOR00 := 0x0154 0005fdb6: 88d7 fffe ;Wait for vpos >= 0x88 and hpos >= 0xd6. 0005fdba: 0180 0000 ;COLOR00 := 0x0000 0005fdbe: 8943 fffe ;Wait for vpos >= 0x89 and hpos >= 0x42. 0005fdc2: 0180 0154 ;COLOR00 := 0x0154 0005fdc6: 89d7 fffe ;Wait for vpos >= 0x89 and hpos >= 0xd6. 0005fdca: 0180 0000 ;COLOR00 := 0x0000 0005fdce: 8a43 fffe ;Wait for vpos >= 0x8a and hpos >= 0x42. 0005fdd2: 0180 0154 ;COLOR00 := 0x0154 0005fdd6: 8ad7 fffe ;Wait for vpos >= 0x8a and hpos >= 0xd6. 0005fdda: 0180 0000 ;COLOR00 := 0x0000 0005fdde: 0192 0664 ;COLOR09 := 0x0664 0005fde2: 8b43 fffe ;Wait for vpos >= 0x8b and hpos >= 0x42. 0005fde6: 0180 0254 ;COLOR00 := 0x0254 0005fdea: 8bd7 fffe ;Wait for vpos >= 0x8b and hpos >= 0xd6. 0005fdee: 0180 0000 ;COLOR00 := 0x0000 0005fdf2: 8c43 fffe ;Wait for vpos >= 0x8c and hpos >= 0x42. 0005fdf6: 0180 0254 ;COLOR00 := 0x0254 0005fdfa: 8cd7 fffe ;Wait for vpos >= 0x8c and hpos >= 0xd6. 0005fdfe: 0180 0000 ;COLOR00 := 0x0000 0005fe02: 8d43 fffe ;Wait for vpos >= 0x8d and hpos >= 0x42. 0005fe06: 0180 0254 ;COLOR00 := 0x0254 0005fe0a: 8dd7 fffe ;Wait for vpos >= 0x8d and hpos >= 0xd6. 0005fe0e: 0180 0000 ;COLOR00 := 0x0000 0005fe12: 8e43 fffe ;Wait for vpos >= 0x8e and hpos >= 0x42. 0005fe16: 0180 0254 ;COLOR00 := 0x0254 0005fe1a: 8ed7 fffe ;Wait for vpos >= 0x8e and hpos >= 0xd6. 0005fe1e: 0180 0000 ;COLOR00 := 0x0000 0005fe22: 8f43 fffe ;Wait for vpos >= 0x8f and hpos >= 0x42. 0005fe26: 0180 0254 ;COLOR00 := 0x0254 0005fe2a: 8fd7 fffe ;Wait for vpos >= 0x8f and hpos >= 0xd6. 0005fe2e: 0180 0000 ;COLOR00 := 0x0000 0005fe32: 9043 fffe ;Wait for vpos >= 0x90 and hpos >= 0x42. 0005fe36: 0180 0254 ;COLOR00 := 0x0254 0005fe3a: 90d7 fffe ;Wait for vpos >= 0x90 and hpos >= 0xd6. 0005fe3e: 0180 0000 ;COLOR00 := 0x0000 0005fe42: 9143 fffe ;Wait for vpos >= 0x91 and hpos >= 0x42. 0005fe46: 0180 0254 ;COLOR00 := 0x0254 0005fe4a: 91d7 fffe ;Wait for vpos >= 0x91 and hpos >= 0xd6. 0005fe4e: 0180 0000 ;COLOR00 := 0x0000 0005fe52: 9243 fffe ;Wait for vpos >= 0x92 and hpos >= 0x42. 0005fe56: 0180 0254 ;COLOR00 := 0x0254 0005fe5a: 92d7 fffe ;Wait for vpos >= 0x92 and hpos >= 0xd6. 0005fe5e: 0180 0000 ;COLOR00 := 0x0000 0005fe62: 9343 fffe ;Wait for vpos >= 0x93 and hpos >= 0x42. 0005fe66: 0180 0254 ;COLOR00 := 0x0254 0005fe6a: 93d7 fffe ;Wait for vpos >= 0x93 and hpos >= 0xd6. 0005fe6e: 0180 0000 ;COLOR00 := 0x0000 0005fe72: 9443 fffe ;Wait for vpos >= 0x94 and hpos >= 0x42. 0005fe76: 0180 0254 ;COLOR00 := 0x0254 0005fe7a: 94d7 fffe ;Wait for vpos >= 0x94 and hpos >= 0xd6. 0005fe7e: 0180 0000 ;COLOR00 := 0x0000 0005fe82: 0192 0764 ;COLOR09 := 0x0764 0005fe86: 9543 fffe ;Wait for vpos >= 0x95 and hpos >= 0x42. 0005fe8a: 0180 0354 ;COLOR00 := 0x0354 0005fe8e: 95d7 fffe ;Wait for vpos >= 0x95 and hpos >= 0xd6. 0005fe92: 0180 0000 ;COLOR00 := 0x0000 0005fe96: 9643 fffe ;Wait for vpos >= 0x96 and hpos >= 0x42. 0005fe9a: 0180 0354 ;COLOR00 := 0x0354 0005fe9e: 96d7 fffe ;Wait for vpos >= 0x96 and hpos >= 0xd6.
Popular Sprite Tricks
2 sprites are displayed then repositioned horizontally right across the screen to create the colourful static background. The remaining sprites are used for the main character, the status bar and player bullets.
The 16-colour background layer was created by using all 8 hardware sprites and repositioning them across the screen. The same 64 pixel wide graphics are repeated across the entire play area.
One of the first jaw-droppingly beautiful Amiga games that still looks great today. Sprites were heavily re-used on the screen, along with priority changes to make them appear between the playfields.
The amazing tunnel sequence was created with a 6 frame animation sequence made with only 4 colours and mirrored vertically. The asteroid layer sits on top of this, with a status panel and player ship made of sprites sitting on top.
Post your comment
Comments
@codetapper Many thanks for the clarification! I thought blitting 8k per frame (so taking roughly ~10-15% of available dma slots) would be quite excessive for a third scrolling layer, but if it's updated at 25 fps it looks more reasonable.
guest 28/01/2018 5:03pm (7 years ago)
@guest: The blitter is used to shift the bitplane around by a pixel each time it needs to, so there's no need to store more than one copy of the graphic in memory. Agony copies half of that single bitplane image each frame as it only needs to scroll that layer every 2 frames. It's only on the Atari ST where you need to buffer all 16 combinations to keep the speed up.
Codetapper 22/01/2018 5:48am (7 years ago)
Just something I do not get: You have only 2 different scroll values, for even and odd bitplanes, how do they keep the static layer in place while changing the scroll registers? Having 16 copies of that layer in mem, each shifted by 1 pix to compensate for the scrolling?
guest 21/01/2018 4:21pm (7 years ago)
great work! How about posting something AGA specific? Keep up the good work!
Antonio 08/02/2015 12:58am (10 years ago)
I love your different posts on sprite tricks. So interesting! Many thanks for sharing this knowledge.
zapposh 02/05/2013 12:48am (12 years ago)
Other games on the A500 such as flimbos quest had a horozontally scrolling dual playfield in 32 colours - more colours than this....
Mark 15/01/2013 11:17am (12 years ago)
There's incredibly detailed information about how the [url=http://francksauer.com/index.php/games/15-games/published-games/10-agony]Agony graphics were made[/url] on Franck Sauer's awesome website![/url]
Codetapper 14/01/2013 10:01pm (12 years ago)
No one has commented on this page yet.
RSS feed for comments on this page | RSS feed for all comments