Article View: comp.sys.atari.st
Article #31189More info on software color upgrade
From: Wayne Knapp
Date: Wed, 09 Mar 1988 23:27
Date: Wed, 09 Mar 1988 23:27
74 lines
3412 bytes
3412 bytes
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
Technical Details
Message-ID:
<2508@tekig5.TEK.COM>Path:
arc1-ca.pugleaf.net!utzoo!mnetor!uunet!husc6!cmcl2!nrl-cmf!ames!eos!aurora!labrea!decwrl!decvax!tektronix!tekig!tekig5!wayneckShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!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