public int Peek(int addr)
 {
     switch (addr & 0xFC00)
     {
         case 0x1800:
             return Via0.Peek(addr);
         case 0x1C00:
             return Via1.Peek(addr);
     }
     if ((addr & 0x8000) != 0)
         return DriveRom.Peek(addr & 0x3FFF);
     if ((addr & 0x1F00) < 0x800)
         return _ram[addr & 0x7FF];
     return (addr >> 8) & 0xFF;
 }
 public void Poke(int addr, int val)
 {
     switch (addr & 0xFC00)
     {
         case 0x1800:
             Via0.Poke(addr, val);
             break;
         case 0x1C00:
             Via1.Poke(addr, val);
             break;
         default:
             if ((addr & 0x8000) == 0 && (addr & 0x1F00) < 0x800)
                 _ram[addr & 0x7FF] = val & 0xFF;
             break;
     }
 }
Ejemplo n.º 3
0
        public int Peek(int addr)
        {
            switch (addr & 0xFC00)
            {
            case 0x1800:
                return(Via0.Peek(addr));

            case 0x1C00:
                return(Via1.Peek(addr));
            }
            if ((addr & 0x8000) != 0)
            {
                return(DriveRom.Peek(addr & 0x3FFF));
            }
            if ((addr & 0x1F00) < 0x800)
            {
                return(_ram[addr & 0x7FF]);
            }
            return((addr >> 8) & 0xFF);
        }
 public int PeekVia0(int addr)
 {
     return Via0.Peek(addr);
 }
 public void PokeVia0(int addr, int val)
 {
     Via0.Poke(addr, val);
 }