Path: utzoo!mnetor!uunet!husc6!cmcl2!nrl-cmf!ames!eos!aurora!labrea!decwrl!decvax!tektronix!tekig!tekig5!wayneck From: wayneck@tekig5.TEK.COM (Wayne Knapp) Newsgroups: comp.sys.atari.st Subject: More info on software color upgrade Message-ID: <2508@tekig5.TEK.COM> Date: 9 Mar 88 23:27:44 GMT Organization: Tektronix Inc., Beaverton, Or. Lines: 74 Keywords: public domain great graphics I found out that I computed the movm timing incorrectly. Now it looks like to me that the fastest way to move memory to memory is the mov.l (An)+,(Am)+ instruction. Does anyone know a faster way? If not, using this instruction will allow for 48 color changes a scan line. I believe that is the same as Spectrum 512. Maybe they couldn't find a faster way either. Anyway the code would look like: Some in beginning: mov.l color.information.table,A0 # picture color information mov.l start.color.registers,A1 # ST's color registers mov.q 199,D0 # 199 lines sync code # posted earlier Maybe some code for changing top line colors 16 times 32 colors newline: mov.l A1,A2 # 4 mov.l A1,A3 # 4 8 mov.l A1,A4 # 4 12 clr.l D1 # 6 18 need to waste 6 cycles mov.l (A0)+,(A2)+ # 20 38 mov.l (A0)+,(A2)+ # 20 58 mov.l (A0)+,(A2)+ # 20 78 mov.l (A0)+,(A2)+ # 20 98 mov.l (A0)+,(A2)+ # 20 118 mov.l (A0)+,(A2)+ # 20 138 mov.l (A0)+,(A2)+ # 20 158 mov.l (A0)+,(A2)+ # 20 178 mov.l (A0)+,(A3)+ # 20 198 mov.l (A0)+,(A3)+ # 20 218 mov.l (A0)+,(A3)+ # 20 238 mov.l (A0)+,(A3)+ # 20 258 mov.l (A0)+,(A3)+ # 20 278 mov.l (A0)+,(A3)+ # 20 298 mov.l (A0)+,(A3)+ # 20 318 mov.l (A0)+,(A3)+ # 20 338 mov.l (A0)+,(A4)+ # 20 358 mov.l (A0)+,(A4)+ # 20 378 mov.l (A0)+,(A4)+ # 20 398 mov.l (A0)+,(A4)+ # 20 418 mov.l (A0)+,(A4)+ # 20 438 mov.l (A0)+,(A4)+ # 20 458 mov.l (A0)+,(A4)+ # 20 478 mov.l (A0)+,(A4)+ # 20 498 dbne D0,newline # 10 508 remember 508 cycles per scan line This would give 14 colors per 20 pixels with two new colors every 20 pixels. I can't think of anything better, but I still open to new ideas. Another interesting mode any be to use word moves and make a new high res mode. it not allow as many color changes since one runs out of address registers, but it may be nice. The inner loop could be made of the following segments. mov.w (A0)+,(A2)+ # 13 13 mov.w (A0)+,(A2)+ # 13 26 mov.w (A0)+,(A2)+ # 13 39 mov.w (A0)+,(A2)+ # 13 42 mov.l A1,A2 # 4 46 This would allow for 32 colors per scan line. Only 32 since only part of the 188 cycles during horizontal retrace could be use. Does anyone want this mode, 640 x 200 x 512 colors? What is a good name for these, any ideas? Thank you, Wayne Knapp