Home » Personal collection » Acorn ADFS disks » Electron_User_Group » EUG_29.ADF » P/+INDEX2
P/+INDEX2
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Personal collection » Acorn ADFS disks » Electron_User_Group » EUG_29.ADF |
Filename: | P/+INDEX2 |
Read OK: | ✔ |
File size: | 1251 bytes |
Load address: | 3A204556 |
Exec address: | 2E502E30 |
File contents
Multi-colour modes by Mark Bellis --------------------------------- For Master series and machines with shadow RAM and CRTC (sorry ELK users, but perhaps you can use the 'extra' grey colour - see later) Files: 16C1GEN Generates machine code for 16 colour mode 1 16C1SRC The resultant source code (already on disk) 36C2GEN Generates machine code for 36 colour mode 2 36C2SRC The resultant source code (already on disk) All files have been stripped of master-specific instructions, so they should compile/run on all machines - if you have the relevant chips! Following an idea in the Master Advanced reference manual, and also the will to stretch the BBC Master 128 to its limit (and try to keep up with other machines with zillions of colours), I have experimented with creating modes which give more colours. (higher resolution in mode 0 has not been possible - yet!) The technique is as follows: Intercept the frame-sync event with *FX14,4 and redirect the EVENTV vector at &0220-21. Create a routine for the vector to point to which switches between main and shadow RAM for display (by EORing bits of &FE34) - equivalent to *FX113,1 or 113,2. Change RAM banks every frame sync. Change the palette as well, by poking to the palette at &FE21. There are rules for doing this, which are in the Master Advanced Reference Manual page 46. Oh dear - perhaps BBC B+ users cannot benefit - the Master Advanced Reference Manual shows the RAM latch at &FE34 as a difference between Models B/B+ and the Master 128. Those hackers with their own add-ons might be able to tweak it - I hope. The 'new modes' created rely on palette matrices of 4x4 and 8x8 respectively for modes 1 and 2. 16 colours in mode 1 is 4x4, but in mode 2, the number of colours is 8x8, with nearly half being removed because they are duplicates. Mode 1 Mode 2 main colour main colour \ 1 2 3 4 \ 1 2 3 4 5 6 7 8 --+------------- --+------------------------- shadow 1 \ 0 1 2 3 1 \ 0 d d d d d d d colour 2 \ 4 5 6 7 2 \ 1 2 d d d d d d 3 \ 8 9 10 11 shadow 3 \ 3 4 5 d d d d d 4 \ 12 13 14 15 colour 4 \ 6 7 8 9 d d d d 5 \ 10 11 12 13 14 d d d d = duplicate colour 6 \ 15 16 17 18 19 20 d d 7 \ 21 22 23 24 25 26 27 d numbers 1-4 or 1-8 8 \ 28 29 30 31 32 33 34 35 can be changed to give the best combinations For mode 2, palette switching is not necessary - all combinations can be seen as all possible colours are available on screen at once. This is the reason why 36C2SRC is shorter than 16C1SRC. For mode 1, however, only four colours are available on each screen, so a possible palette combination would be black, red, green, yellow for the main screen, and black, blue, cyan, magenta for shadow screen. If white was required, it would have to be one of the colours on each screen, thus reducing the available combinations. One slight disadvantage of multi-colour modes is that all points plotted or text printed or sprites copied to the screen need to be written to main RAM, then after switching a bit of &FE34, written to shadow RAM, thus taking longer to plot. I have, however, written a multi-colour-mode sprite plotting routine which is not slow enough to hinder writing games which use it. There will be a memory overhead of twice the number of sprites though - each screen needs its own set. Unfortunately, the necessity to slow the refresh rate down to 25Hz rather than the usual 50Hz, in order to fit two screens into the time, means that the effect of light/dark colour combinations (such as yellow/red) is rather flickery (beware if you are allergic to strobes!) Try to stick to combinations which are not so bad, such as: red/black brown(ish) blue/red purple red/magenta shocking pink! etc... the list of pure colours in order of brightness is as follows: white, cyan, yellow, green, magenta, blue, red, black. Generally, the nearer two colours are to each other in the above list, the less flickery the combination will be. The best grey will be green/magenta for this reason. (by the way, a game called 'ORCREST' uses colour 11 with *FX9,1 and *FX10,1 to give grey - perhaps all machines can have an extra colour - although *FX9 and 10 rely on the LSB of the VIDPROC control register - do ELKs have a VIDPROC? (as they don't have a CRTC)) Mark Bellis 118, The Lawns, Rolleston-on-Dove, Burton-on-Trent, Staffs, DE13 9DE
00000000 4d 75 6c 74 69 2d 63 6f 6c 6f 75 72 20 6d 6f 64 |Multi-colour mod| 00000010 65 73 20 62 79 20 4d 61 72 6b 20 42 65 6c 6c 69 |es by Mark Belli| 00000020 73 0d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |s.--------------| 00000030 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00000040 2d 2d 2d 0d 0d 46 6f 72 20 4d 61 73 74 65 72 20 |---..For Master | 00000050 73 65 72 69 65 73 20 61 6e 64 20 6d 61 63 68 69 |series and machi| 00000060 6e 65 73 20 77 69 74 68 20 73 68 61 64 6f 77 20 |nes with shadow | 00000070 52 41 4d 20 61 6e 64 20 43 52 54 43 20 28 73 6f |RAM and CRTC (so| 00000080 72 72 79 20 45 4c 4b 0d 75 73 65 72 73 2c 20 62 |rry ELK.users, b| 00000090 75 74 20 70 65 72 68 61 70 73 20 79 6f 75 20 63 |ut perhaps you c| 000000a0 61 6e 20 75 73 65 20 74 68 65 20 27 65 78 74 72 |an use the 'extr| 000000b0 61 27 20 67 72 65 79 20 63 6f 6c 6f 75 72 20 2d |a' grey colour -| 000000c0 20 73 65 65 20 6c 61 74 65 72 29 0d 0d 46 69 6c | see later)..Fil| 000000d0 65 73 3a 0d 0d 31 36 43 31 47 45 4e 20 20 20 20 |es:..16C1GEN | 000000e0 20 20 20 20 20 20 20 20 20 20 20 47 65 6e 65 72 | Gener| 000000f0 61 74 65 73 20 6d 61 63 68 69 6e 65 20 63 6f 64 |ates machine cod| 00000100 65 20 66 6f 72 20 31 36 20 63 6f 6c 6f 75 72 20 |e for 16 colour | 00000110 6d 6f 64 65 20 31 0d 31 36 43 31 53 52 43 20 20 |mode 1.16C1SRC | 00000120 20 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 | The| 00000130 20 72 65 73 75 6c 74 61 6e 74 20 73 6f 75 72 63 | resultant sourc| 00000140 65 20 63 6f 64 65 20 28 61 6c 72 65 61 64 79 20 |e code (already | 00000150 6f 6e 20 64 69 73 6b 29 0d 0d 33 36 43 32 47 45 |on disk)..36C2GE| 00000160 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |N | 00000170 47 65 6e 65 72 61 74 65 73 20 6d 61 63 68 69 6e |Generates machin| 00000180 65 20 63 6f 64 65 20 66 6f 72 20 33 36 20 63 6f |e code for 36 co| 00000190 6c 6f 75 72 20 6d 6f 64 65 20 32 0d 33 36 43 32 |lour mode 2.36C2| 000001a0 53 52 43 20 20 20 20 20 20 20 20 20 20 20 20 20 |SRC | 000001b0 20 20 54 68 65 20 72 65 73 75 6c 74 61 6e 74 20 | The resultant | 000001c0 73 6f 75 72 63 65 20 63 6f 64 65 20 28 61 6c 72 |source code (alr| 000001d0 65 61 64 79 20 6f 6e 20 64 69 73 6b 29 0d 0d 41 |eady on disk)..A| 000001e0 6c 6c 20 66 69 6c 65 73 20 68 61 76 65 20 62 65 |ll files have be| 000001f0 65 6e 20 73 74 72 69 70 70 65 64 20 6f 66 20 6d |en stripped of m| 00000200 61 73 74 65 72 2d 73 70 65 63 69 66 69 63 20 69 |aster-specific i| 00000210 6e 73 74 72 75 63 74 69 6f 6e 73 2c 20 73 6f 20 |nstructions, so | 00000220 74 68 65 79 0d 73 68 6f 75 6c 64 20 63 6f 6d 70 |they.should comp| 00000230 69 6c 65 2f 72 75 6e 20 6f 6e 20 61 6c 6c 20 6d |ile/run on all m| 00000240 61 63 68 69 6e 65 73 20 2d 20 69 66 20 79 6f 75 |achines - if you| 00000250 20 68 61 76 65 20 74 68 65 20 72 65 6c 65 76 61 | have the releva| 00000260 6e 74 20 63 68 69 70 73 21 0d 0d 46 6f 6c 6c 6f |nt chips!..Follo| 00000270 77 69 6e 67 20 61 6e 20 69 64 65 61 20 69 6e 20 |wing an idea in | 00000280 74 68 65 20 4d 61 73 74 65 72 20 41 64 76 61 6e |the Master Advan| 00000290 63 65 64 20 72 65 66 65 72 65 6e 63 65 20 6d 61 |ced reference ma| 000002a0 6e 75 61 6c 2c 20 61 6e 64 20 61 6c 73 6f 0d 74 |nual, and also.t| 000002b0 68 65 20 77 69 6c 6c 20 74 6f 20 73 74 72 65 74 |he will to stret| 000002c0 63 68 20 74 68 65 20 42 42 43 20 4d 61 73 74 65 |ch the BBC Maste| 000002d0 72 20 31 32 38 20 74 6f 20 69 74 73 20 6c 69 6d |r 128 to its lim| 000002e0 69 74 20 28 61 6e 64 20 74 72 79 20 74 6f 20 6b |it (and try to k| 000002f0 65 65 70 0d 75 70 20 77 69 74 68 20 6f 74 68 65 |eep.up with othe| 00000300 72 20 6d 61 63 68 69 6e 65 73 20 77 69 74 68 20 |r machines with | 00000310 7a 69 6c 6c 69 6f 6e 73 20 6f 66 20 63 6f 6c 6f |zillions of colo| 00000320 75 72 73 29 2c 20 49 20 68 61 76 65 20 65 78 70 |urs), I have exp| 00000330 65 72 69 6d 65 6e 74 65 64 0d 77 69 74 68 20 63 |erimented.with c| 00000340 72 65 61 74 69 6e 67 20 6d 6f 64 65 73 20 77 68 |reating modes wh| 00000350 69 63 68 20 67 69 76 65 20 6d 6f 72 65 20 63 6f |ich give more co| 00000360 6c 6f 75 72 73 2e 20 20 28 68 69 67 68 65 72 20 |lours. (higher | 00000370 72 65 73 6f 6c 75 74 69 6f 6e 20 69 6e 0d 6d 6f |resolution in.mo| 00000380 64 65 20 30 20 68 61 73 20 6e 6f 74 20 62 65 65 |de 0 has not bee| 00000390 6e 20 70 6f 73 73 69 62 6c 65 20 2d 20 79 65 74 |n possible - yet| 000003a0 21 29 0d 0d 54 68 65 20 74 65 63 68 6e 69 71 75 |!)..The techniqu| 000003b0 65 20 69 73 20 61 73 20 66 6f 6c 6c 6f 77 73 3a |e is as follows:| 000003c0 0d 0d 49 6e 74 65 72 63 65 70 74 20 74 68 65 20 |..Intercept the | 000003d0 66 72 61 6d 65 2d 73 79 6e 63 20 65 76 65 6e 74 |frame-sync event| 000003e0 20 77 69 74 68 20 2a 46 58 31 34 2c 34 20 61 6e | with *FX14,4 an| 000003f0 64 20 72 65 64 69 72 65 63 74 20 74 68 65 0d 45 |d redirect the.E| 00000400 56 45 4e 54 56 20 76 65 63 74 6f 72 20 61 74 20 |VENTV vector at | 00000410 26 30 32 32 30 2d 32 31 2e 0d 0d 43 72 65 61 74 |&0220-21...Creat| 00000420 65 20 61 20 72 6f 75 74 69 6e 65 20 66 6f 72 20 |e a routine for | 00000430 74 68 65 20 76 65 63 74 6f 72 20 74 6f 20 70 6f |the vector to po| 00000440 69 6e 74 20 74 6f 20 77 68 69 63 68 20 73 77 69 |int to which swi| 00000450 74 63 68 65 73 20 62 65 74 77 65 65 6e 20 6d 61 |tches between ma| 00000460 69 6e 0d 61 6e 64 20 73 68 61 64 6f 77 20 52 41 |in.and shadow RA| 00000470 4d 20 66 6f 72 20 64 69 73 70 6c 61 79 20 28 62 |M for display (b| 00000480 79 20 45 4f 52 69 6e 67 20 62 69 74 73 20 6f 66 |y EORing bits of| 00000490 20 26 46 45 33 34 29 20 2d 20 65 71 75 69 76 61 | &FE34) - equiva| 000004a0 6c 65 6e 74 20 74 6f 0d 2a 46 58 31 31 33 2c 31 |lent to.*FX113,1| 000004b0 20 6f 72 20 31 31 33 2c 32 2e 20 20 43 68 61 6e | or 113,2. Chan| 000004c0 67 65 20 52 41 4d 20 62 61 6e 6b 73 20 65 76 65 |ge RAM banks eve| 000004d0 72 79 20 66 72 61 6d 65 20 73 79 6e 63 2e 20 20 |ry frame sync. | 000004e0 43 68 61 6e 67 65 20 74 68 65 0d 70 61 6c 65 74 |Change the.palet| 000004f0 74 65 20 61 73 20 77 65 6c 6c 2c 20 62 79 20 70 |te as well, by p| 00000500 6f 6b 69 6e 67 20 74 6f 20 74 68 65 20 70 61 6c |oking to the pal| 00000510 65 74 74 65 20 61 74 20 26 46 45 32 31 2e 20 20 |ette at &FE21. | 00000520 54 68 65 72 65 20 61 72 65 20 72 75 6c 65 73 0d |There are rules.| 00000530 66 6f 72 20 64 6f 69 6e 67 20 74 68 69 73 2c 20 |for doing this, | 00000540 77 68 69 63 68 20 61 72 65 20 69 6e 20 74 68 65 |which are in the| 00000550 20 4d 61 73 74 65 72 20 41 64 76 61 6e 63 65 64 | Master Advanced| 00000560 20 52 65 66 65 72 65 6e 63 65 20 4d 61 6e 75 61 | Reference Manua| 00000570 6c 20 70 61 67 65 20 34 36 2e 0d 0d 4f 68 20 64 |l page 46...Oh d| 00000580 65 61 72 20 2d 20 70 65 72 68 61 70 73 20 42 42 |ear - perhaps BB| 00000590 43 20 42 2b 20 75 73 65 72 73 20 63 61 6e 6e 6f |C B+ users canno| 000005a0 74 20 62 65 6e 65 66 69 74 20 2d 20 74 68 65 20 |t benefit - the | 000005b0 4d 61 73 74 65 72 20 41 64 76 61 6e 63 65 64 0d |Master Advanced.| 000005c0 52 65 66 65 72 65 6e 63 65 20 4d 61 6e 75 61 6c |Reference Manual| 000005d0 20 73 68 6f 77 73 20 74 68 65 20 52 41 4d 20 6c | shows the RAM l| 000005e0 61 74 63 68 20 61 74 20 26 46 45 33 34 20 61 73 |atch at &FE34 as| 000005f0 20 61 20 64 69 66 66 65 72 65 6e 63 65 20 62 65 | a difference be| 00000600 74 77 65 65 6e 0d 4d 6f 64 65 6c 73 20 42 2f 42 |tween.Models B/B| 00000610 2b 20 61 6e 64 20 74 68 65 20 4d 61 73 74 65 72 |+ and the Master| 00000620 20 31 32 38 2e 20 20 54 68 6f 73 65 20 68 61 63 | 128. Those hac| 00000630 6b 65 72 73 20 77 69 74 68 20 74 68 65 69 72 20 |kers with their | 00000640 6f 77 6e 20 61 64 64 2d 6f 6e 73 0d 6d 69 67 68 |own add-ons.migh| 00000650 74 20 62 65 20 61 62 6c 65 20 74 6f 20 74 77 65 |t be able to twe| 00000660 61 6b 20 69 74 20 2d 20 49 20 68 6f 70 65 2e 0d |ak it - I hope..| 00000670 0d 54 68 65 20 27 6e 65 77 20 6d 6f 64 65 73 27 |.The 'new modes'| 00000680 20 63 72 65 61 74 65 64 20 72 65 6c 79 20 6f 6e | created rely on| 00000690 20 70 61 6c 65 74 74 65 20 6d 61 74 72 69 63 65 | palette matrice| 000006a0 73 20 6f 66 20 34 78 34 20 61 6e 64 20 38 78 38 |s of 4x4 and 8x8| 000006b0 0d 72 65 73 70 65 63 74 69 76 65 6c 79 20 66 6f |.respectively fo| 000006c0 72 20 6d 6f 64 65 73 20 31 20 61 6e 64 20 32 2e |r modes 1 and 2.| 000006d0 20 20 31 36 20 63 6f 6c 6f 75 72 73 20 69 6e 20 | 16 colours in | 000006e0 6d 6f 64 65 20 31 20 69 73 20 34 78 34 2c 20 62 |mode 1 is 4x4, b| 000006f0 75 74 20 69 6e 0d 6d 6f 64 65 20 32 2c 20 74 68 |ut in.mode 2, th| 00000700 65 20 6e 75 6d 62 65 72 20 6f 66 20 63 6f 6c 6f |e number of colo| 00000710 75 72 73 20 69 73 20 38 78 38 2c 20 77 69 74 68 |urs is 8x8, with| 00000720 20 6e 65 61 72 6c 79 20 68 61 6c 66 20 62 65 69 | nearly half bei| 00000730 6e 67 20 72 65 6d 6f 76 65 64 0d 62 65 63 61 75 |ng removed.becau| 00000740 73 65 20 74 68 65 79 20 61 72 65 20 64 75 70 6c |se they are dupl| 00000750 69 63 61 74 65 73 2e 0d 0d 4d 6f 64 65 20 31 20 |icates...Mode 1 | 00000760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000770 20 20 20 20 20 20 20 20 4d 6f 64 65 20 32 0d 0d | Mode 2..| 00000780 20 20 20 20 20 20 20 20 20 20 6d 61 69 6e 20 63 | main c| 00000790 6f 6c 6f 75 72 20 20 20 20 20 20 20 20 20 20 20 |olour | 000007a0 20 20 20 20 20 20 6d 61 69 6e 20 63 6f 6c 6f 75 | main colou| 000007b0 72 0d 20 20 20 20 20 20 20 20 20 20 5c 20 20 31 |r. \ 1| 000007c0 20 20 32 20 20 33 20 20 34 20 20 20 20 20 20 20 | 2 3 4 | 000007d0 20 20 20 20 20 5c 20 20 31 20 20 32 20 20 33 20 | \ 1 2 3 | 000007e0 20 34 20 20 35 20 20 36 20 20 37 20 20 38 0d 20 | 4 5 6 7 8. | 000007f0 20 20 20 20 20 20 20 2d 2d 2b 2d 2d 2d 2d 2d 2d | --+------| 00000800 2d 2d 2d 2d 2d 2d 2d 20 20 20 20 20 20 20 20 20 |------- | 00000810 2d 2d 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |--+-------------| 00000820 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 73 68 61 |------------.sha| 00000830 64 6f 77 20 20 31 20 5c 20 20 30 20 20 31 20 20 |dow 1 \ 0 1 | 00000840 32 20 20 33 20 20 20 20 20 20 20 20 20 20 31 20 |2 3 1 | 00000850 5c 20 20 30 20 20 64 20 20 64 20 20 64 20 20 64 |\ 0 d d d d| 00000860 20 20 64 20 20 64 20 20 64 0d 63 6f 6c 6f 75 72 | d d d.colour| 00000870 20 20 32 20 5c 20 20 34 20 20 35 20 20 36 20 20 | 2 \ 4 5 6 | 00000880 37 20 20 20 20 20 20 20 20 20 20 32 20 5c 20 20 |7 2 \ | 00000890 31 20 20 32 20 20 64 20 20 64 20 20 64 20 20 64 |1 2 d d d d| 000008a0 20 20 64 20 20 64 0d 20 20 20 20 20 20 20 20 33 | d d. 3| 000008b0 20 5c 20 20 38 20 20 39 20 31 30 20 31 31 20 20 | \ 8 9 10 11 | 000008c0 73 68 61 64 6f 77 20 20 33 20 5c 20 20 33 20 20 |shadow 3 \ 3 | 000008d0 34 20 20 35 20 20 64 20 20 64 20 20 64 20 20 64 |4 5 d d d d| 000008e0 20 20 64 0d 20 20 20 20 20 20 20 20 34 20 5c 20 | d. 4 \ | 000008f0 31 32 20 31 33 20 31 34 20 31 35 20 20 63 6f 6c |12 13 14 15 col| 00000900 6f 75 72 20 20 34 20 5c 20 20 36 20 20 37 20 20 |our 4 \ 6 7 | 00000910 38 20 20 39 20 20 64 20 20 64 20 20 64 20 20 64 |8 9 d d d d| 00000920 0d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |. | 00000930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000940 20 20 35 20 5c 20 31 30 20 31 31 20 31 32 20 31 | 5 \ 10 11 12 1| 00000950 33 20 31 34 20 20 64 20 20 64 20 20 64 0d 20 20 |3 14 d d d. | 00000960 20 20 64 20 3d 20 64 75 70 6c 69 63 61 74 65 20 | d = duplicate | 00000970 63 6f 6c 6f 75 72 20 20 20 20 20 20 20 20 20 36 |colour 6| 00000980 20 5c 20 31 35 20 31 36 20 31 37 20 31 38 20 31 | \ 15 16 17 18 1| 00000990 39 20 32 30 20 20 64 20 20 64 0d 20 20 20 20 20 |9 20 d d. | 000009a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000009b0 20 20 20 20 20 20 20 20 20 20 20 20 37 20 5c 20 | 7 \ | 000009c0 32 31 20 32 32 20 32 33 20 32 34 20 32 35 20 32 |21 22 23 24 25 2| 000009d0 36 20 32 37 20 20 64 0d 6e 75 6d 62 65 72 73 20 |6 27 d.numbers | 000009e0 31 2d 34 20 6f 72 20 31 2d 38 20 20 20 20 20 20 |1-4 or 1-8 | 000009f0 20 20 20 20 20 20 20 20 20 38 20 5c 20 32 38 20 | 8 \ 28 | 00000a00 32 39 20 33 30 20 33 31 20 33 32 20 33 33 20 33 |29 30 31 32 33 3| 00000a10 34 20 33 35 0d 63 61 6e 20 62 65 20 63 68 61 6e |4 35.can be chan| 00000a20 67 65 64 20 74 6f 20 67 69 76 65 0d 74 68 65 20 |ged to give.the | 00000a30 62 65 73 74 20 63 6f 6d 62 69 6e 61 74 69 6f 6e |best combination| 00000a40 73 0d 0d 46 6f 72 20 6d 6f 64 65 20 32 2c 20 70 |s..For mode 2, p| 00000a50 61 6c 65 74 74 65 20 73 77 69 74 63 68 69 6e 67 |alette switching| 00000a60 20 69 73 20 6e 6f 74 20 6e 65 63 65 73 73 61 72 | is not necessar| 00000a70 79 20 2d 20 61 6c 6c 20 63 6f 6d 62 69 6e 61 74 |y - all combinat| 00000a80 69 6f 6e 73 0d 63 61 6e 20 62 65 20 73 65 65 6e |ions.can be seen| 00000a90 20 61 73 20 61 6c 6c 20 70 6f 73 73 69 62 6c 65 | as all possible| 00000aa0 20 63 6f 6c 6f 75 72 73 20 61 72 65 20 61 76 61 | colours are ava| 00000ab0 69 6c 61 62 6c 65 20 6f 6e 20 73 63 72 65 65 6e |ilable on screen| 00000ac0 20 61 74 20 6f 6e 63 65 2e 0d 54 68 69 73 20 69 | at once..This i| 00000ad0 73 20 74 68 65 20 72 65 61 73 6f 6e 20 77 68 79 |s the reason why| 00000ae0 20 33 36 43 32 53 52 43 20 69 73 20 73 68 6f 72 | 36C2SRC is shor| 00000af0 74 65 72 20 74 68 61 6e 20 31 36 43 31 53 52 43 |ter than 16C1SRC| 00000b00 2e 0d 0d 46 6f 72 20 6d 6f 64 65 20 31 2c 20 68 |...For mode 1, h| 00000b10 6f 77 65 76 65 72 2c 20 6f 6e 6c 79 20 66 6f 75 |owever, only fou| 00000b20 72 20 63 6f 6c 6f 75 72 73 20 61 72 65 20 61 76 |r colours are av| 00000b30 61 69 6c 61 62 6c 65 20 6f 6e 20 65 61 63 68 20 |ailable on each | 00000b40 73 63 72 65 65 6e 2c 20 73 6f 0d 61 20 70 6f 73 |screen, so.a pos| 00000b50 73 69 62 6c 65 20 70 61 6c 65 74 74 65 20 63 6f |sible palette co| 00000b60 6d 62 69 6e 61 74 69 6f 6e 20 77 6f 75 6c 64 20 |mbination would | 00000b70 62 65 20 62 6c 61 63 6b 2c 20 72 65 64 2c 20 67 |be black, red, g| 00000b80 72 65 65 6e 2c 20 79 65 6c 6c 6f 77 20 66 6f 72 |reen, yellow for| 00000b90 0d 74 68 65 20 6d 61 69 6e 20 73 63 72 65 65 6e |.the main screen| 00000ba0 2c 20 61 6e 64 20 62 6c 61 63 6b 2c 20 62 6c 75 |, and black, blu| 00000bb0 65 2c 20 63 79 61 6e 2c 20 6d 61 67 65 6e 74 61 |e, cyan, magenta| 00000bc0 20 66 6f 72 20 73 68 61 64 6f 77 20 73 63 72 65 | for shadow scre| 00000bd0 65 6e 2e 20 20 49 66 0d 77 68 69 74 65 20 77 61 |en. If.white wa| 00000be0 73 20 72 65 71 75 69 72 65 64 2c 20 69 74 20 77 |s required, it w| 00000bf0 6f 75 6c 64 20 68 61 76 65 20 74 6f 20 62 65 20 |ould have to be | 00000c00 6f 6e 65 20 6f 66 20 74 68 65 20 63 6f 6c 6f 75 |one of the colou| 00000c10 72 73 20 6f 6e 20 65 61 63 68 20 73 63 72 65 65 |rs on each scree| 00000c20 6e 2c 0d 74 68 75 73 20 72 65 64 75 63 69 6e 67 |n,.thus reducing| 00000c30 20 74 68 65 20 61 76 61 69 6c 61 62 6c 65 20 63 | the available c| 00000c40 6f 6d 62 69 6e 61 74 69 6f 6e 73 2e 0d 0d 4f 6e |ombinations...On| 00000c50 65 20 73 6c 69 67 68 74 20 64 69 73 61 64 76 61 |e slight disadva| 00000c60 6e 74 61 67 65 20 6f 66 20 6d 75 6c 74 69 2d 63 |ntage of multi-c| 00000c70 6f 6c 6f 75 72 20 6d 6f 64 65 73 20 69 73 20 74 |olour modes is t| 00000c80 68 61 74 20 61 6c 6c 20 70 6f 69 6e 74 73 20 70 |hat all points p| 00000c90 6c 6f 74 74 65 64 0d 6f 72 20 74 65 78 74 20 70 |lotted.or text p| 00000ca0 72 69 6e 74 65 64 20 6f 72 20 73 70 72 69 74 65 |rinted or sprite| 00000cb0 73 20 63 6f 70 69 65 64 20 74 6f 20 74 68 65 20 |s copied to the | 00000cc0 73 63 72 65 65 6e 20 6e 65 65 64 20 74 6f 20 62 |screen need to b| 00000cd0 65 20 77 72 69 74 74 65 6e 20 74 6f 0d 6d 61 69 |e written to.mai| 00000ce0 6e 20 52 41 4d 2c 20 74 68 65 6e 20 61 66 74 65 |n RAM, then afte| 00000cf0 72 20 73 77 69 74 63 68 69 6e 67 20 61 20 62 69 |r switching a bi| 00000d00 74 20 6f 66 20 26 46 45 33 34 2c 20 77 72 69 74 |t of &FE34, writ| 00000d10 74 65 6e 20 74 6f 20 73 68 61 64 6f 77 20 52 41 |ten to shadow RA| 00000d20 4d 2c 20 74 68 75 73 0d 74 61 6b 69 6e 67 20 6c |M, thus.taking l| 00000d30 6f 6e 67 65 72 20 74 6f 20 70 6c 6f 74 2e 20 20 |onger to plot. | 00000d40 49 20 68 61 76 65 2c 20 68 6f 77 65 76 65 72 2c |I have, however,| 00000d50 20 77 72 69 74 74 65 6e 20 61 20 6d 75 6c 74 69 | written a multi| 00000d60 2d 63 6f 6c 6f 75 72 2d 6d 6f 64 65 0d 73 70 72 |-colour-mode.spr| 00000d70 69 74 65 20 70 6c 6f 74 74 69 6e 67 20 72 6f 75 |ite plotting rou| 00000d80 74 69 6e 65 20 77 68 69 63 68 20 69 73 20 6e 6f |tine which is no| 00000d90 74 20 73 6c 6f 77 20 65 6e 6f 75 67 68 20 74 6f |t slow enough to| 00000da0 20 68 69 6e 64 65 72 20 77 72 69 74 69 6e 67 20 | hinder writing | 00000db0 67 61 6d 65 73 0d 77 68 69 63 68 20 75 73 65 20 |games.which use | 00000dc0 69 74 2e 20 20 54 68 65 72 65 20 77 69 6c 6c 20 |it. There will | 00000dd0 62 65 20 61 20 6d 65 6d 6f 72 79 20 6f 76 65 72 |be a memory over| 00000de0 68 65 61 64 20 6f 66 20 74 77 69 63 65 20 74 68 |head of twice th| 00000df0 65 20 6e 75 6d 62 65 72 20 6f 66 0d 73 70 72 69 |e number of.spri| 00000e00 74 65 73 20 74 68 6f 75 67 68 20 2d 20 65 61 63 |tes though - eac| 00000e10 68 20 73 63 72 65 65 6e 20 6e 65 65 64 73 20 69 |h screen needs i| 00000e20 74 73 20 6f 77 6e 20 73 65 74 2e 0d 0d 55 6e 66 |ts own set...Unf| 00000e30 6f 72 74 75 6e 61 74 65 6c 79 2c 20 74 68 65 20 |ortunately, the | 00000e40 6e 65 63 65 73 73 69 74 79 20 74 6f 20 73 6c 6f |necessity to slo| 00000e50 77 20 74 68 65 20 72 65 66 72 65 73 68 20 72 61 |w the refresh ra| 00000e60 74 65 20 64 6f 77 6e 20 74 6f 20 32 35 48 7a 20 |te down to 25Hz | 00000e70 72 61 74 68 65 72 0d 74 68 61 6e 20 74 68 65 20 |rather.than the | 00000e80 75 73 75 61 6c 20 35 30 48 7a 2c 20 69 6e 20 6f |usual 50Hz, in o| 00000e90 72 64 65 72 20 74 6f 20 66 69 74 20 74 77 6f 20 |rder to fit two | 00000ea0 73 63 72 65 65 6e 73 20 69 6e 74 6f 20 74 68 65 |screens into the| 00000eb0 20 74 69 6d 65 2c 20 6d 65 61 6e 73 20 74 68 61 | time, means tha| 00000ec0 74 0d 74 68 65 20 65 66 66 65 63 74 20 6f 66 20 |t.the effect of | 00000ed0 6c 69 67 68 74 2f 64 61 72 6b 20 63 6f 6c 6f 75 |light/dark colou| 00000ee0 72 20 63 6f 6d 62 69 6e 61 74 69 6f 6e 73 20 28 |r combinations (| 00000ef0 73 75 63 68 20 61 73 20 79 65 6c 6c 6f 77 2f 72 |such as yellow/r| 00000f00 65 64 29 20 69 73 20 72 61 74 68 65 72 0d 66 6c |ed) is rather.fl| 00000f10 69 63 6b 65 72 79 20 28 62 65 77 61 72 65 20 69 |ickery (beware i| 00000f20 66 20 79 6f 75 20 61 72 65 20 61 6c 6c 65 72 67 |f you are allerg| 00000f30 69 63 20 74 6f 20 73 74 72 6f 62 65 73 21 29 0d |ic to strobes!).| 00000f40 0d 54 72 79 20 74 6f 20 73 74 69 63 6b 20 74 6f |.Try to stick to| 00000f50 20 63 6f 6d 62 69 6e 61 74 69 6f 6e 73 20 77 68 | combinations wh| 00000f60 69 63 68 20 61 72 65 20 6e 6f 74 20 73 6f 20 62 |ich are not so b| 00000f70 61 64 2c 20 73 75 63 68 20 61 73 3a 0d 0d 72 65 |ad, such as:..re| 00000f80 64 2f 62 6c 61 63 6b 20 20 20 20 20 20 20 62 72 |d/black br| 00000f90 6f 77 6e 28 69 73 68 29 0d 62 6c 75 65 2f 72 65 |own(ish).blue/re| 00000fa0 64 20 20 20 20 20 20 20 20 70 75 72 70 6c 65 0d |d purple.| 00000fb0 72 65 64 2f 6d 61 67 65 6e 74 61 20 20 20 20 20 |red/magenta | 00000fc0 73 68 6f 63 6b 69 6e 67 20 70 69 6e 6b 21 0d 65 |shocking pink!.e| 00000fd0 74 63 2e 2e 2e 0d 0d 74 68 65 20 6c 69 73 74 20 |tc.....the list | 00000fe0 6f 66 20 70 75 72 65 20 63 6f 6c 6f 75 72 73 20 |of pure colours | 00000ff0 69 6e 20 6f 72 64 65 72 20 6f 66 20 62 72 69 67 |in order of brig| 00001000 68 74 6e 65 73 73 20 69 73 20 61 73 20 66 6f 6c |htness is as fol| 00001010 6c 6f 77 73 3a 0d 77 68 69 74 65 2c 20 63 79 61 |lows:.white, cya| 00001020 6e 2c 20 79 65 6c 6c 6f 77 2c 20 67 72 65 65 6e |n, yellow, green| 00001030 2c 20 6d 61 67 65 6e 74 61 2c 20 62 6c 75 65 2c |, magenta, blue,| 00001040 20 72 65 64 2c 20 62 6c 61 63 6b 2e 0d 0d 47 65 | red, black...Ge| 00001050 6e 65 72 61 6c 6c 79 2c 20 74 68 65 20 6e 65 61 |nerally, the nea| 00001060 72 65 72 20 74 77 6f 20 63 6f 6c 6f 75 72 73 20 |rer two colours | 00001070 61 72 65 20 74 6f 20 65 61 63 68 20 6f 74 68 65 |are to each othe| 00001080 72 20 69 6e 20 74 68 65 20 61 62 6f 76 65 20 6c |r in the above l| 00001090 69 73 74 2c 20 74 68 65 0d 6c 65 73 73 20 66 6c |ist, the.less fl| 000010a0 69 63 6b 65 72 79 20 74 68 65 20 63 6f 6d 62 69 |ickery the combi| 000010b0 6e 61 74 69 6f 6e 20 77 69 6c 6c 20 62 65 2e 20 |nation will be. | 000010c0 54 68 65 20 62 65 73 74 20 67 72 65 79 20 77 69 |The best grey wi| 000010d0 6c 6c 20 62 65 20 67 72 65 65 6e 2f 6d 61 67 65 |ll be green/mage| 000010e0 6e 74 61 0d 66 6f 72 20 74 68 69 73 20 72 65 61 |nta.for this rea| 000010f0 73 6f 6e 2e 20 28 62 79 20 74 68 65 20 77 61 79 |son. (by the way| 00001100 2c 20 61 20 67 61 6d 65 20 63 61 6c 6c 65 64 20 |, a game called | 00001110 27 4f 52 43 52 45 53 54 27 20 75 73 65 73 20 63 |'ORCREST' uses c| 00001120 6f 6c 6f 75 72 20 31 31 20 77 69 74 68 0d 2a 46 |olour 11 with.*F| 00001130 58 39 2c 31 20 61 6e 64 20 2a 46 58 31 30 2c 31 |X9,1 and *FX10,1| 00001140 20 74 6f 20 67 69 76 65 20 67 72 65 79 20 2d 20 | to give grey - | 00001150 70 65 72 68 61 70 73 20 61 6c 6c 20 6d 61 63 68 |perhaps all mach| 00001160 69 6e 65 73 20 63 61 6e 20 68 61 76 65 20 61 6e |ines can have an| 00001170 20 65 78 74 72 61 0d 63 6f 6c 6f 75 72 20 2d 20 | extra.colour - | 00001180 61 6c 74 68 6f 75 67 68 20 2a 46 58 39 20 61 6e |although *FX9 an| 00001190 64 20 31 30 20 72 65 6c 79 20 6f 6e 20 74 68 65 |d 10 rely on the| 000011a0 20 4c 53 42 20 6f 66 20 74 68 65 20 56 49 44 50 | LSB of the VIDP| 000011b0 52 4f 43 20 63 6f 6e 74 72 6f 6c 0d 72 65 67 69 |ROC control.regi| 000011c0 73 74 65 72 20 2d 20 64 6f 20 45 4c 4b 73 20 68 |ster - do ELKs h| 000011d0 61 76 65 20 61 20 56 49 44 50 52 4f 43 3f 20 28 |ave a VIDPROC? (| 000011e0 61 73 20 74 68 65 79 20 64 6f 6e 27 74 20 68 61 |as they don't ha| 000011f0 76 65 20 61 20 43 52 54 43 29 29 0d 0d 0d 4d 61 |ve a CRTC))...Ma| 00001200 72 6b 20 42 65 6c 6c 69 73 0d 31 31 38 2c 20 54 |rk Bellis.118, T| 00001210 68 65 20 4c 61 77 6e 73 2c 0d 52 6f 6c 6c 65 73 |he Lawns,.Rolles| 00001220 74 6f 6e 2d 6f 6e 2d 44 6f 76 65 2c 0d 42 75 72 |ton-on-Dove,.Bur| 00001230 74 6f 6e 2d 6f 6e 2d 54 72 65 6e 74 2c 0d 53 74 |ton-on-Trent,.St| 00001240 61 66 66 73 2c 0d 44 45 31 33 20 39 44 45 0d 0d |affs,.DE13 9DE..| 00001250 0d |.| 00001251