Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package author.dariusgoad.emulators.atari.a2600;
- import java.awt.Color;
- import java.awt.image.BufferedImage;
- import javax.swing.ImageIcon;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- public class TIA
- {
- public JFrame frame;
- public JLabel label;
- public ImageIcon img;
- public BufferedImage canvas;
- public int audv0;
- public int audf0;
- public int audc0;
- public int x = 0;
- public int y = 0;
- public int p0x,p1x,m0x,m1x,bx;
- public int hmp0,hmp1,hmm0,hmm1;
- public int vsync = 0;
- public int vblank = 0;
- public boolean mh0, mh1; //Missile hide
- public int colubk,colupf,colup0,colup1,nusiz0,nusiz1;
- public boolean vdelbl = false;
- public boolean refp0 = false;
- public boolean refp1 = false;
- public int ctrlpf,pf0,pf1,pf2;
- public int grp0,grp1;
- public TIA()
- {
- frame = new JFrame("SteveVCS");
- canvas = new BufferedImage(160,192,BufferedImage.TYPE_INT_RGB);
- label = new JLabel();
- label.setIcon(new ImageIcon(canvas));
- frame.add(label);
- frame.setVisible(true);
- frame.setSize(160, 192);
- }
- private final void putpixel(int x, int y, int color)
- {
- int hue = color & 0xF0;
- int luma = (color & 0x0E) >>> 1;
- int r = 200;
- int g = 200;
- int b = 200;
- Color c = new Color(r,g,b);
- canvas.setRGB(x,y,c.getRGB());
- label.setIcon(new ImageIcon(canvas));
- label.revalidate();
- frame.revalidate();
- }
- void tick()
- {
- /*tone = ByteBuffer.allocate(4);
- tone.put((byte)audf0);
- try
- {
- ais = new AudioInputStream(new ByteArrayInputStream(tone.array()), af, 1);
- clip = AudioSystem.getClip();
- clip.open(ais);
- clip.start();
- clip.loop(Clip.LOOP_CONTINUOUSLY);
- FloatControl volume = (FloatControl) clip.getControl(FloatControl.Type.MASTER_GAIN);
- volume.setValue(audv0 - 8);
- }
- catch(LineUnavailableException e)
- {
- }
- catch(IOException e){}
- tone = null;
- ais = null;*/
- if(vblank != 0)
- {
- if(y >= 39 && y <= 231 && x >= 67 && x<227)
- {
- int tmp = (x - 67) >>> 2;
- switch(tmp)
- {
- case 0:
- {
- if((pf0 & 0x10) == 0x10) putpixel(x - 67, y - 39,colupf);
- else putpixel(x - 67, y - 39,colubk);
- break;
- }
- case 1:
- {
- if((pf0 & 0x20) == 0x20) putpixel(x - 67, y - 39,colupf);
- else putpixel(x - 67, y - 39,colubk);
- break;
- }
- case 2:
- {
- if((pf0 & 0x40) == 0x40) putpixel(x - 67, y - 39,colupf);
- else putpixel(x - 67, y - 39,colubk);
- break;
- }
- case 3:
- {
- if((pf0 & 0x80) == 0x80) putpixel(x - 67, y - 39,colupf);
- else putpixel(x - 67, y - 39,colubk);
- break;
- }
- case 4:
- {
- if((pf1 & 0x80) == 0x80) putpixel(x - 67, y - 39,colupf);
- else putpixel(x - 67, y - 39,colubk);
- break;
- }
- case 5:
- {
- if((pf1 & 0x40) == 0x40) putpixel(x - 67, y - 39,colupf);
- else putpixel(x - 67, y - 39,colubk);
- break;
- }
- case 6:
- {
- if((pf1 & 0x20) == 0x20) putpixel(x - 67, y - 39,colupf);
- else putpixel(x - 67, y - 39,colubk);
- break;
- }
- case 7:
- {
- if((pf1 & 0x10) == 0x10) putpixel(x - 67, y - 39,colupf);
- else putpixel(x - 67, y - 39,colubk);
- break;
- }
- case 8:
- {
- if((pf1 & 0x8) == 0x8) putpixel(x - 67, y - 39,colupf);
- else putpixel(x - 67, y - 39,colubk);
- break;
- }
- case 9:
- {
- if((pf1 & 0x4) == 0x4) putpixel(x - 67, y - 39,colupf);
- else putpixel(x - 67, y - 39,colubk);
- break;
- }
- case 10:
- {
- if((pf1 & 0x2) == 0x2) putpixel(x - 67, y - 39,colupf);
- else putpixel(x - 67, y - 39,colubk);
- break;
- }
- case 11:
- {
- if((pf1 & 0x1) == 0x1) putpixel(x - 67, y - 39,colupf);
- else putpixel(x - 67, y - 39,colubk);
- break;
- }
- case 12:
- {
- if((pf2 & 0x1) == 0x1) putpixel(x - 67, y - 39,colupf);
- else putpixel(x - 67, y - 39,colubk);
- break;
- }
- case 13:
- {
- if((pf2 & 0x2) == 0x2) putpixel(x - 67, y - 39,colupf);
- else putpixel(x - 67, y - 39,colubk);
- break;
- }
- case 14:
- {
- if((pf2 & 0x4) == 0x4) putpixel(x - 67, y - 39,colupf);
- else putpixel(x - 67, y - 39,colubk);
- break;
- }
- case 15:
- {
- if((pf2 & 0x8) == 0x8) putpixel(x - 67, y - 39,colupf);
- else putpixel(x - 67, y - 39,colubk);
- break;
- }
- case 16:
- {
- if((pf2 & 0x10) == 0x10) putpixel(x - 67, y - 39,colupf);
- else putpixel(x - 67, y - 39,colubk);
- break;
- }
- case 17:
- {
- if((pf2 & 0x20) == 0x20) putpixel(x - 67, y - 39,colupf);
- else putpixel(x - 67, y - 39,colubk);
- break;
- }
- case 18:
- {
- if((pf2 & 0x40) == 0x40) putpixel(x - 67, y - 39,colupf);
- else putpixel(x - 67, y - 39,colubk);
- break;
- }
- case 19:
- {
- if((pf2 & 0x80) == 0x80) putpixel(x - 67, y - 39,colupf);
- else putpixel(x - 67, y - 39,colubk);
- break;
- }
- default:
- {
- putpixel(x - 67, y - 39,colubk);
- break;
- }
- }
- }
- x++;
- if(x == 228)
- {
- x=0;
- y++;
- if(y == 262)
- {
- y=0;
- }
- }
- }
- else
- {
- x = 0;
- y = 0;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment