anchor.diff:  % WRITE
   
   write(CPU,Addr,Word) when Addr < 16#40 ->
  -   write_mem(CPU#cpu.ram,Addr,Word);
  +   write_mem(ram,CPU#cpu.ram,Addr,Word);
   
   write(CPU,Addr,Word) when Addr < 16#80 ->
  -   write_mem(CPU#cpu.ram,Addr band 16#3f,Word);
  +   write_mem(ram,CPU#cpu.ram,Addr band 16#3f,Word);
   
   % TODO - CHECK WHAT HAPPENS ON SIMULATOR/EMULATOR
  -write(_CPU,Addr,_Word) when Addr < 16#C0 ->
  -   ignore; 
  +write(CPU,Addr,Word) when Addr < 16#C0 ->
  +   write_mem(rom,CPU#cpu.rom,Addr band 16#3f,Word);
   
   % TODO - CHECK WHAT HAPPENS ON SIMULATOR/EMULATOR
  -write(_CPU,Addr,_Word) when Addr < 16#100 ->
  -   ignore; 
  +write(CPU,Addr,Word) when Addr < 16#100 ->
  +   write_mem(rom,CPU#cpu.rom,Addr band 16#3f,Word);
   
   write(CPU,?RIGHT,Word) ->
      write_channel(CPU,
  
positive.code:     ID = CPU#cpu.id,
      receive
          { Channel,read,ok } -> 
              {ok,CPU#cpu.ram};
  
          step ->
              write_wait(CPU,Channel);
  
negative.code:                  CPU#cpu.channel#channels.down,
                   Word).
  
  write_mem(Region,Mem,Addr,Word) ->
     write_mem(Region,Mem,Addr,Word,array:size(Mem)).
  
  % TODO - FIX ARRAY SIZE AT 64
  write_mem(Region,Mem,Addr,Word,N) when Addr < N ->
     { ok,Region,array:set(Addr,Word,Mem) };
  
  write_mem(_Region,_Mem,_Addr,_Word,_N) ->
     eof.
  
  write_channel(CPU,Ch,Word) ->
  