Guest User

SteveVCS

a guest
Mar 8th, 2013
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.13 KB | None | 0 0
  1. package author.dariusgoad.emulators.atari.a2600;
  2.  
  3. import java.awt.Color;
  4. import java.awt.image.BufferedImage;
  5.  
  6. import javax.swing.ImageIcon;
  7. import javax.swing.JFrame;
  8. import javax.swing.JLabel;
  9.  
  10. public class TIA
  11. {
  12.     public JFrame frame;
  13.     public JLabel label;
  14.     public ImageIcon img;
  15.     public BufferedImage canvas;
  16.     public int audv0;
  17.     public int audf0;
  18.     public int audc0;
  19.     public int x = 0;
  20.     public int y = 0;
  21.     public int p0x,p1x,m0x,m1x,bx;
  22.     public int hmp0,hmp1,hmm0,hmm1;
  23.     public int vsync = 0;
  24.     public int vblank = 0;
  25.     public boolean mh0, mh1; //Missile hide
  26.     public int colubk,colupf,colup0,colup1,nusiz0,nusiz1;
  27.     public boolean vdelbl = false;
  28.     public boolean refp0 = false;
  29.     public boolean refp1 = false;
  30.     public int ctrlpf,pf0,pf1,pf2;
  31.     public int grp0,grp1;
  32.    
  33.     public TIA()
  34.     {
  35.         frame = new JFrame("SteveVCS");
  36.         canvas = new BufferedImage(160,192,BufferedImage.TYPE_INT_RGB);
  37.         label = new JLabel();
  38.         label.setIcon(new ImageIcon(canvas));
  39.         frame.add(label);
  40.         frame.setVisible(true);
  41.         frame.setSize(160, 192);
  42.     }
  43.    
  44.     private final void putpixel(int x, int y, int color)
  45.     {
  46.         int hue = color & 0xF0;
  47.         int luma = (color & 0x0E) >>> 1;
  48.         int r = 200;
  49.         int g = 200;
  50.         int b = 200;
  51.         Color c = new Color(r,g,b);
  52.         canvas.setRGB(x,y,c.getRGB());
  53.         label.setIcon(new ImageIcon(canvas));
  54.         label.revalidate();
  55.         frame.revalidate();
  56.     }
  57.    
  58.     void tick()
  59.     {
  60.         /*tone = ByteBuffer.allocate(4);
  61.         tone.put((byte)audf0);
  62.         try
  63.         {
  64.             ais = new AudioInputStream(new ByteArrayInputStream(tone.array()), af, 1);
  65.             clip = AudioSystem.getClip();
  66.             clip.open(ais);
  67.             clip.start();
  68.             clip.loop(Clip.LOOP_CONTINUOUSLY);
  69.             FloatControl volume = (FloatControl) clip.getControl(FloatControl.Type.MASTER_GAIN);
  70.             volume.setValue(audv0 - 8);
  71.         }
  72.         catch(LineUnavailableException e)
  73.         {
  74.         }
  75.         catch(IOException e){}
  76.         tone = null;
  77.         ais = null;*/
  78.        
  79.         if(vblank != 0)
  80.         {
  81.             if(y >= 39 && y <= 231 && x >= 67 && x<227)
  82.             {
  83.                 int tmp = (x - 67) >>> 2;
  84.                 switch(tmp)
  85.                 {
  86.                 case 0:
  87.                 {
  88.                     if((pf0 & 0x10) == 0x10) putpixel(x - 67, y - 39,colupf);
  89.                     else putpixel(x - 67, y - 39,colubk);
  90.                     break;
  91.                 }
  92.                 case 1:
  93.                 {
  94.                     if((pf0 & 0x20) == 0x20) putpixel(x - 67, y - 39,colupf);
  95.                     else putpixel(x - 67, y - 39,colubk);
  96.                     break;
  97.                 }
  98.                 case 2:
  99.                 {
  100.                     if((pf0 & 0x40) == 0x40) putpixel(x - 67, y - 39,colupf);
  101.                     else putpixel(x - 67, y - 39,colubk);
  102.                     break;
  103.                 }
  104.                 case 3:
  105.                 {
  106.                     if((pf0 & 0x80) == 0x80) putpixel(x - 67, y - 39,colupf);
  107.                     else putpixel(x - 67, y - 39,colubk);
  108.                     break;
  109.                 }
  110.                 case 4:
  111.                 {
  112.                     if((pf1 & 0x80) == 0x80) putpixel(x - 67, y - 39,colupf);
  113.                     else putpixel(x - 67, y - 39,colubk);
  114.                     break;
  115.                 }
  116.                 case 5:
  117.                 {
  118.                     if((pf1 & 0x40) == 0x40) putpixel(x - 67, y - 39,colupf);
  119.                     else putpixel(x - 67, y - 39,colubk);
  120.                     break;
  121.                 }
  122.                 case 6:
  123.                 {
  124.                     if((pf1 & 0x20) == 0x20) putpixel(x - 67, y - 39,colupf);
  125.                     else putpixel(x - 67, y - 39,colubk);
  126.                     break;
  127.                 }
  128.                 case 7:
  129.                 {
  130.                     if((pf1 & 0x10) == 0x10) putpixel(x - 67, y - 39,colupf);
  131.                     else putpixel(x - 67, y - 39,colubk);
  132.                     break;
  133.                 }
  134.                 case 8:
  135.                 {
  136.                     if((pf1 & 0x8) == 0x8) putpixel(x - 67, y - 39,colupf);
  137.                     else putpixel(x - 67, y - 39,colubk);
  138.                     break;
  139.                 }
  140.                 case 9:
  141.                 {
  142.                     if((pf1 & 0x4) == 0x4) putpixel(x - 67, y - 39,colupf);
  143.                     else putpixel(x - 67, y - 39,colubk);
  144.                     break;
  145.                 }
  146.                 case 10:
  147.                 {
  148.                     if((pf1 & 0x2) == 0x2) putpixel(x - 67, y - 39,colupf);
  149.                     else putpixel(x - 67, y - 39,colubk);
  150.                     break;
  151.                 }
  152.                 case 11:
  153.                 {
  154.                     if((pf1 & 0x1) == 0x1) putpixel(x - 67, y - 39,colupf);
  155.                     else putpixel(x - 67, y - 39,colubk);
  156.                     break;
  157.                 }
  158.                 case 12:
  159.                 {
  160.                     if((pf2 & 0x1) == 0x1) putpixel(x - 67, y - 39,colupf);
  161.                     else putpixel(x - 67, y - 39,colubk);
  162.                     break;
  163.                 }
  164.                 case 13:
  165.                 {
  166.                     if((pf2 & 0x2) == 0x2) putpixel(x - 67, y - 39,colupf);
  167.                     else putpixel(x - 67, y - 39,colubk);
  168.                     break;
  169.                 }
  170.                 case 14:
  171.                 {
  172.                     if((pf2 & 0x4) == 0x4) putpixel(x - 67, y - 39,colupf);
  173.                     else putpixel(x - 67, y - 39,colubk);
  174.                     break;
  175.                 }
  176.                 case 15:
  177.                 {
  178.                     if((pf2 & 0x8) == 0x8) putpixel(x - 67, y - 39,colupf);
  179.                     else putpixel(x - 67, y - 39,colubk);
  180.                     break;
  181.                 }
  182.                 case 16:
  183.                 {
  184.                     if((pf2 & 0x10) == 0x10) putpixel(x - 67, y - 39,colupf);
  185.                     else putpixel(x - 67, y - 39,colubk);
  186.                     break;
  187.                 }
  188.                 case 17:
  189.                 {
  190.                     if((pf2 & 0x20) == 0x20) putpixel(x - 67, y - 39,colupf);
  191.                     else putpixel(x - 67, y - 39,colubk);
  192.                     break;
  193.                 }
  194.                 case 18:
  195.                 {
  196.                     if((pf2 & 0x40) == 0x40) putpixel(x - 67, y - 39,colupf);
  197.                     else putpixel(x - 67, y - 39,colubk);
  198.                     break;
  199.                 }
  200.                 case 19:
  201.                 {
  202.                     if((pf2 & 0x80) == 0x80) putpixel(x - 67, y - 39,colupf);
  203.                     else putpixel(x - 67, y - 39,colubk);
  204.                     break;
  205.                 }
  206.                 default:
  207.                 {
  208.                     putpixel(x - 67, y - 39,colubk);
  209.                     break;
  210.                 }
  211.                 }
  212.             }
  213.             x++;
  214.             if(x == 228)
  215.             {
  216.                 x=0;
  217.                 y++;
  218.                 if(y == 262)
  219.                 {
  220.                     y=0;
  221.                 }
  222.             }
  223.         }
  224.         else
  225.         {
  226.             x = 0;
  227.             y = 0;
  228.         }
  229.     }
  230. }
Advertisement
Add Comment
Please, Sign In to add comment