Previous 199869 Revisions Next

r31982 Monday 8th September, 2014 at 06:02:49 UTC by Fabio Priuli
gtia.c: this was the version meant to be added yesterday (removing a bunch of
static vars along the way). nw.
[src/mame/video]gtia.c gtia.h

trunk/src/mame/video/gtia.c
r31981r31982
193193   save_item(NAME(m_w.gractl));
194194   save_item(NAME(m_w.hitclr));
195195   save_item(NAME(m_w.cons));
196
197   save_item(NAME(m_lumpf1));
198   save_item(NAME(m_huepm0));
199   save_item(NAME(m_huepm1));
200   save_item(NAME(m_huepm2));
201   save_item(NAME(m_huepm3));
202   save_item(NAME(m_huepm4));
203   save_item(NAME(m_huepf2));
204   save_item(NAME(m_huebk));   
205
196206   machine().save().register_postload(save_prepost_delegate(FUNC(gtia_device::gtia_postload), this));
197207}
198208
r31981r31982
224234   m_r.cons = 0x07;     /* console keys */
225235   SETCOL_B(ILL, 0x3e);     /* bright red */
226236   SETCOL_B(EOR, 0xff);     /* yellow */
237
238   m_lumpf1 = 0;
239   m_huepm0 = 0;
240   m_huepm1 = 0;
241   m_huepm2 = 0;
242   m_huepm3 = 0;
243   m_huepm4 = 0;
244   m_huepf2 = 0;
245   m_huebk = 0;
227246}
228247
229248
r31981r31982
458477{
459478   /* used for mixing hue/lum of different colors */
460479//  static UINT8 lumpm0=0,lumpm1=0,lumpm2=0,lumpm3=0,lumpm4=0;
461   static UINT8 lumpf1=0;
462480//  static UINT8 lumpf2=0;
463481//  static UINT8 lumbk= 0;
464   static UINT8 huepm0=0,huepm1=0,huepm2=0,huepm3=0,huepm4=0;
465482//  static UINT8 huepf1=0;
466   static UINT8 huepf2=0,huebk= 0;
467483
468484   switch (offset & 31)
469485   {
r31981r31982
569585      SETCOL_B(P000, data);    /* set player 0 both pixels 0 */
570586      SETCOL_L(P001, data);    /* set player 0 left pixel 0 */
571587      SETCOL_R(P010, data);    /* set player 0 right pixel 0 */
572      SPLIT_HUE(data, huepm0);
573      data = huepm0 | lumpf1;
588      SPLIT_HUE(data, m_huepm0);
589      data = m_huepm0 | m_lumpf1;
574590      SETCOL_R(P001, data);    /* set player 0 right pixel 1 */
575591      SETCOL_L(P010, data);    /* set player 0 left pixel 1 */
576592      SETCOL_B(P011, data);    /* set player 0 both pixels 1 */
r31981r31982
589605      SETCOL_B(P100, data);    /* set player 1 both pixels 0 */
590606      SETCOL_L(P101, data);    /* set player 1 left pixel 0 */
591607      SETCOL_R(P110, data);    /* set player 1 right pixel 0 */
592      SPLIT_HUE(data, huepm1);
593      data = huepm1 | lumpf1;
608      SPLIT_HUE(data, m_huepm1);
609      data = m_huepm1 | m_lumpf1;
594610      SETCOL_R(P101, data);    /* set player 1 right pixel 1 */
595611      SETCOL_L(P110, data);    /* set player 1 left pixel 1 */
596612      SETCOL_B(P111, data);    /* set player 1 both pixels 1 */
r31981r31982
609625      SETCOL_B(P200, data);    /* set player 2 both pixels 0 */
610626      SETCOL_L(P201, data);    /* set player 2 left pixel 0 */
611627      SETCOL_R(P210, data);    /* set player 2 right pixel 0 */
612      SPLIT_HUE(data, huepm2);
613      data = huepm2 | lumpf1;
628      SPLIT_HUE(data, m_huepm2);
629      data = m_huepm2 | m_lumpf1;
614630      SETCOL_R(P201, data);    /* set player 2 right pixel 1 */
615631      SETCOL_L(P210, data);    /* set player 2 left pixel 1 */
616632      SETCOL_B(P211, data);    /* set player 2 both pixels 1 */
r31981r31982
629645      SETCOL_B(P300, data);    /* set player 3 both pixels 0 */
630646      SETCOL_L(P301, data);    /* set player 3 left pixel 0 */
631647      SETCOL_R(P310, data);    /* set player 3 right pixel 0 */
632      SPLIT_HUE(data, huepm3);
633      data = huepm3 | lumpf1;
648      SPLIT_HUE(data, m_huepm3);
649      data = m_huepm3 | m_lumpf1;
634650      SETCOL_R(P301, data);    /* set player 3 right pixel 1 */
635651      SETCOL_L(P310, data);    /* set player 3 left pixel 1 */
636652      SETCOL_B(P311, data);    /* set player 3 both pixels 1 */
r31981r31982
656672
657673      SETCOL_B(PF1, data);     /* set playfield 1 color */
658674      SETCOL_B(GT2+5, data);   /* set GTIA mode 2 color 5 */
659      SPLIT_LUM(data, lumpf1);
660      data = huepf2 | lumpf1;
675      SPLIT_LUM(data, m_lumpf1);
676      data = m_huepf2 | m_lumpf1;
661677      SETCOL_R(T01, data);     /* set text mode right pixel 1 */
662678      SETCOL_L(T10, data);     /* set text mode left pixel 1 */
663679      SETCOL_B(T11, data);     /* set text mode both pixels 1 */
664      data = huebk | lumpf1;
680      data = m_huebk | m_lumpf1;
665681      SETCOL_R(G01, data);     /* set graphics mode right pixel 1 */
666682      SETCOL_L(G10, data);     /* set graphics mode left pixel 1 */
667683      SETCOL_B(G11, data);     /* set graphics mode both pixels 1 */
668      data = huepm0 | lumpf1;
684      data = m_huepm0 | m_lumpf1;
669685      SETCOL_R(P001, data);    /* set player 0 right pixel 1 */
670686      SETCOL_L(P010, data);    /* set player 0 left pixel 1 */
671687      SETCOL_B(P011, data);    /* set player 0 both pixels 1 */
672      data = huepm1 | lumpf1;
688      data = m_huepm1 | m_lumpf1;
673689      SETCOL_R(P101, data);    /* set player 1 right pixel 1 */
674690      SETCOL_L(P110, data);    /* set player 1 left pixel 1 */
675691      SETCOL_B(P111, data);    /* set player 1 both pixels 1 */
676      data = huepm2 | lumpf1;
692      data = m_huepm2 | m_lumpf1;
677693      SETCOL_R(P201, data);    /* set player 2 right pixel 1 */
678694      SETCOL_L(P210, data);    /* set player 2 left pixel 1 */
679695      SETCOL_B(P211, data);    /* set player 2 both pixels 1 */
680      data = huepm3 | lumpf1;
696      data = m_huepm3 | m_lumpf1;
681697      SETCOL_R(P301, data);    /* set player 3 right pixel 1 */
682698      SETCOL_L(P310, data);    /* set player 3 left pixel 1 */
683699      SETCOL_B(P311, data);    /* set player 3 both pixels 1 */
684      data = huepm4 | lumpf1;
700      data = m_huepm4 | m_lumpf1;
685701      SETCOL_R(P401, data);    /* set missiles right pixel 1 */
686702      SETCOL_L(P410, data);    /* set missiles left pixel 1 */
687703      SETCOL_B(P411, data);    /* set missiles both pixels 1 */
r31981r31982
699715      SETCOL_B(T00, data);     /* set text mode both pixels 0 */
700716      SETCOL_L(T01, data);     /* set text mode left pixel 0 */
701717      SETCOL_R(T10, data);     /* set text mode right pixel 0 */
702      SPLIT_HUE(data, huepf2);
703      data = huepf2 | lumpf1;
718      SPLIT_HUE(data, m_huepf2);
719      data = m_huepf2 | m_lumpf1;
704720      SETCOL_R(T01, data);     /* set text mode right pixel 1 */
705721      SETCOL_L(T10, data);     /* set text mode left pixel 1 */
706722      SETCOL_B(T11, data);     /* set text mode both pixels 1 */
r31981r31982
718734      SETCOL_B(P400, data);    /* set p/m xor mode both pixels 0 */
719735      SETCOL_L(P401, data);    /* set p/m xor mode left pixel 0 */
720736      SETCOL_R(P410, data);    /* set p/m xor mode right pixel 0 */
721      SPLIT_HUE(data, huepm4);
722      data = huepm4 | lumpf1;
737      SPLIT_HUE(data, m_huepm4);
738      data = m_huepm4 | m_lumpf1;
723739      SETCOL_R(P401, data);    /* set p/m xor mode right pixel 1 */
724740      SETCOL_L(P410, data);    /* set p/m xor mode left pixel 1 */
725741      SETCOL_B(P411, data);    /* set p/m xor mode both pixels 1 */
r31981r31982
744760      SETCOL_B(G00, data);     /* set 2 color graphics both pixels 0 */
745761      SETCOL_L(G01, data);     /* set 2 color graphics left pixel 0 */
746762      SETCOL_R(G10, data);     /* set 2 color graphics right pixel 0 */
747      SPLIT_HUE(data, huebk);
748      data = huebk | lumpf1;
763      SPLIT_HUE(data, m_huebk);
764      data = m_huebk | m_lumpf1;
749765      SETCOL_R(G01, data);     /* set 2 color graphics right pixel 1 */
750766      SETCOL_L(G10, data);     /* set 2 color graphics left pixel 1 */
751767      SETCOL_B(G11, data);     /* set 2 color graphics both pixels 1 */
trunk/src/mame/video/gtia.h
r31981r31982
163163   void recalc_m2();
164164   void recalc_m3();
165165   
166   void player_render(UINT8 gfx, int size, UINT8 color, UINT8 *dst);
167   void missile_render(UINT8 gfx, int size, UINT8 color, UINT8 *dst);
166   inline void player_render(UINT8 gfx, int size, UINT8 color, UINT8 *dst);
167   inline void missile_render(UINT8 gfx, int size, UINT8 color, UINT8 *dst);
168168   
169169private:
170170   gtia_readregs   m_r;          /* read registers */
171171   gtia_writeregs  m_w;          /* write registers */
172172   gtia_helpervars m_h;          /* helper variables */
173173   
174//   UINT8 m_lumpf1;
175//   UINT8 m_huepm0, m_huepm1, m_huepm2, m_huepm3, m_huepm4;
176//   UINT8 m_huepf2, m_huebk;
174   UINT8 m_lumpf1;
175   UINT8 m_huepm0, m_huepm1, m_huepm2, m_huepm3, m_huepm4;
176   UINT8 m_huepf2, m_huebk;
177177   
178178   UINT16 m_color_lookup[256];  /* color lookup table */   // probably better fit to ANTIC, but it remains here for the moment...
179179   

Previous 199869 Revisions Next


© 1997-2024 The MAME Team