Update meta CPU
authorAlyssa Rosenzweig <alyssa@backtick.town>
Wed, 29 Jun 2016 19:32:32 +0000 (12:32 -0700)
committerAlyssa Rosenzweig <alyssa@backtick.town>
Wed, 29 Jun 2016 19:32:32 +0000 (12:32 -0700)
src/meta.tosh

index 41f3c45..c68a050 100644 (file)
@@ -1,18 +1,22 @@
 define mapper read (addr)
 if addr < 8192 then
-       set M to item (addr mod 2048) + 1 of RAM
+       set M to item (addr mod 2048 + 1) of RAM
 else
        if addr > 32767 then
-               set M to join "0x" (item ((addr - 32768) mod 16384) + 1 of PRG-ROM)
+               set M to (join "0x" (item ((addr - 32768) mod 16384 + 1) of PRG-ROM))
        end
 end
 
 define mapper write (addr) (value)
 if addr < 8192 then
-       replace item (addr mod 2048) + 1 of RAM with value
+       replace item addr mod 2048 + 1 of RAM with value
 else
-       if addr > 32768 then
-               say "Writing to ROM isn't very nice, you know..."
+       if addr > 8191 and addr < 8200 then
+               ask join join (value) " to PPU " (addr) and wait
+       else
+               if addr > 32768 then
+                       say "Writing to ROM isn't very nice, you know..."
+               end
        end
 end
 
@@ -21,14 +25,13 @@ define PLP
 define interrupt
 
 define compute SR
-set SR to (128*flagN) + (64*flagV) + (32*1) + (16*flagB) + (8*flagD) + (4*flagI) + (2*flagZ) + flagC
 
 when flag clicked
 set A to 0
 set X to 0
 set Y to 0
 set S to "0xFD"
-set PC to 49152
+set PC to 32768
 show variable A
 show variable X
 show variable Y
@@ -42,15 +45,14 @@ show variable flagI
 show variable flagB
 show variable flagD
 show variable S
-show variable SR
 delete all of RAM
 repeat 2048
-       add 0 to RAM
+       add "0" to RAM
 end
 
 when p key pressed
-mapper read PC
-interpret instruction M
-compute SR
+mapper read (PC)
+interpret instruction (M)
+
+define interpret instruction (opcode)
 
-define interpret instruction (opcode)
\ No newline at end of file
This page took 0.03388 seconds and 4 git commands to generate.