Fix many bugs, I hope
authorAlyssa Rosenzweig <alyssa@backtick.town>
Thu, 23 Jun 2016 14:41:13 +0000 (07:41 -0700)
committerAlyssa Rosenzweig <alyssa@backtick.town>
Thu, 23 Jun 2016 14:41:13 +0000 (07:41 -0700)
src/CPU/instructions/JMP
src/CPU/instructions/JSR
src/CPU/instructions/LSR
src/CPU/instructions/ORA
src/CPU/instructions/PLA
src/CPU/instructions/PLP
src/CPU/instructions/ROL
src/CPU/instructions/ROR
src/CPU/instructions/RTI
src/CPU/instructions/RTS
src/CPU/instructions/SBC

index e1b7346..c55c002 100644 (file)
@@ -1,2 +1,2 @@
 RAW
-set PC to OP
+set PC to (join "0x" (OP))
index effcff9..abecd8f 100644 (file)
@@ -1,7 +1,7 @@
 RAW
-set tmp to (join "0x" (PC)) + 2
+set tmp to PC + 2
 mapper write (256 + S) ( (tmp - (tmp mod 256)) / 256)
 set S to (S - 1) mod 256
 mapper write (256 + S) (tmp mod 256)
 set S to (S - 1) mod 256
-set PC to OP
+set PC to (join "0x" (OP))
index b40899b..1ac97a6 100644 (file)
@@ -1,3 +1,3 @@
 RW, Z
-set flagC to OP mod 2
-set OP to floor of (join "0x" (OP)) / 2
+set flagC to (join "0x" OP) mod 2
+set OP to item (floor of (join "0x" (OP)) / 2) of hex
index ea21580..5d55f96 100644 (file)
@@ -1,2 +1,2 @@
-R,N,Z
+R,N,Z,A
 set A to join (item (join (letter 1 of A) (letter 1 of OP)) of ORA) (item (join (letter 2 of A) (letter 2 of OP)) of ORA)
index 73cd985..48f60c1 100644 (file)
@@ -1,4 +1,4 @@
 IMPLIED, N, Z, A
 mapper read (257 + S)
 set S to (S + 1) mod 256
-set A to OP
+set A to M
index c7e566a..cce185f 100644 (file)
@@ -1,10 +1,10 @@
 IMPLIED
 mapper read (257 + S)
 set S to (S + 1) mod 256
-set flagN to < (item (join (letter 1 of S) "8") of AND) = 8>
-set flagV to < (item (join (letter 1 of S) "4") of AND) = 4>
-set flagB to < (item (join (letter 1 of S) "1") of AND) = 1>
-set flagD to < (item (join (letter 2 of S) "8") of AND) = 8>
-set flagI to < (item (join (letter 2 of S) "4") of AND) = 4>
-set flagZ to < (item (join (letter 2 of S) "2") of AND) = 2>
-set flagC to < (item (join (letter 2 of S) "1") of AND) = 1>
+set flagN to < (item (join (letter 1 of M) "8") of AND) = 8>
+set flagV to < (item (join (letter 1 of M) "4") of AND) = 4>
+set flagB to < (item (join (letter 1 of M) "1") of AND) = 1>
+set flagD to < (item (join (letter 2 of M) "8") of AND) = 8>
+set flagI to < (item (join (letter 2 of M) "4") of AND) = 4>
+set flagZ to < (item (join (letter 2 of M) "2") of AND) = 2>
+set flagC to < (item (join (letter 2 of M) "1") of AND) = 1>
index 009330d..47e833f 100644 (file)
@@ -1,4 +1,4 @@
 RW, N, Z
 set tmp to <(join "0x" (letter 1 of OP)) > 7>
-set OP to OP * 2 + flagC
+set OP to item ((join "0x" (OP)) * 2 + flagC) of hex
 set flagC to tmp
index 9015df2..148a953 100644 (file)
@@ -1,4 +1,4 @@
 RW, N, Z
 set tmp to <(join "0x" (OP)) mod 2 = 1>
-set OP to (floor of OP / 2) + (128 * flagC)
+set OP to item ((floor of (join "0x" (OP)) / 2) + (128 * flagC)) of hex
 set flagC to tmp
index 108f32f..d9b6c00 100644 (file)
@@ -5,4 +5,4 @@ set S to (S + 1) mod 256
 set tmp to M
 mapper read (257 + S)
 set S to (S + 1) mod 256
-set PC to join tmp M
+set PC to join "0x" (join tmp M)
index 5357d85..28d4d54 100644 (file)
@@ -1,8 +1,7 @@
-def RTS
 IMPLIED
 mapper read (257 + S)
 set S to (S + 1) mod 256
 set tmp to M
 mapper read (257 + S)
 set S to (S + 1) mod 256
-set PC to join tmp M
+set PC to (join "0x" (join tmp M))
index 5989b34..0a6bd3a 100644 (file)
@@ -2,4 +2,4 @@ R,N,Z,A
 set tmp to (join "0x" (A)) - (join "0x" (OP)) - flagC
 set A to item (tmp mod 256) of hex
 set flagC to <tmp > 255>
-set flagV to <tmp > 127 or tmp < -128>
+set flagV to <<(join "0x" (A)) < 128 and (join "0x" (OP)) < 128 and (tmp mod 256) > 128> or <(join "0x" (A)) > 127 and (join "0x" (OP)) > 127 and (tmp mod 256) < 128>>
This page took 0.039665 seconds and 4 git commands to generate.