Skip to content

Commit

Permalink
Add wildcards to CPU-external.cmp
Browse files Browse the repository at this point in the history
  • Loading branch information
netalondon committed Aug 19, 2024
1 parent 1d9bd4d commit 7eee37d
Show file tree
Hide file tree
Showing 2 changed files with 90 additions and 88 deletions.
173 changes: 86 additions & 87 deletions projects/src/project_05/02_cpu.ts
Original file line number Diff line number Diff line change
Expand Up @@ -283,7 +283,6 @@ export const external_tst = `// This file is part of www.nand2tetris.org
// File name: projects/5/CPU-external.tst
load CPU.hdl,
compare-to CPU-external.cmp,
output-list time%S0.4.0 inM%D0.6.0 instruction%B0.16.0 reset%B2.1.2 outM%D1.6.0 writeM%B3.1.3 addressM%D0.5.0 pc%D0.5.0;
Expand Down Expand Up @@ -428,96 +427,96 @@ set reset 0;
tick, output, tock, output;`;

export const external_cmp = `|time| inM | instruction |reset| outM |writeM |addre| pc |
|0+ | 0|0011000000111001| 0 | 0| 0 | 0| 0|
|1 | 0|0011000000111001| 0 | 0| 0 |12345| 1|
|1+ | 0|1110110000010000| 0 | 12345| 0 |12345| 1|
|2 | 0|1110110000010000| 0 | 12345| 0 |12345| 2|
|2+ | 0|0101101110100000| 0 | 0| 0 |12345| 2|
|3 | 0|0101101110100000| 0 | 0| 0 |23456| 3|
|3+ | 0|1110000111010000| 0 | 11111| 0 |23456| 3|
|4 | 0|1110000111010000| 0 | 12345| 0 |23456| 4|
|4+ | 0|0000001111101000| 0 | -11111| 0 |23456| 4|
|5 | 0|0000001111101000| 0 | -11111| 0 | 1000| 5|
|0+ | 0|0011000000111001| 0 |*******| 0 | 0| 0|
|1 | 0|0011000000111001| 0 |*******| 0 |12345| 1|
|1+ | 0|1110110000010000| 0 |*******| 0 |12345| 1|
|2 | 0|1110110000010000| 0 |*******| 0 |12345| 2|
|2+ | 0|0101101110100000| 0 |*******| 0 |12345| 2|
|3 | 0|0101101110100000| 0 |*******| 0 |23456| 3|
|3+ | 0|1110000111010000| 0 |*******| 0 |23456| 3|
|4 | 0|1110000111010000| 0 |*******| 0 |23456| 4|
|4+ | 0|0000001111101000| 0 |*******| 0 |23456| 4|
|5 | 0|0000001111101000| 0 |*******| 0 | 1000| 5|
|5+ | 0|1110001100001000| 0 | 11111| 1 | 1000| 5|
|6 | 0|1110001100001000| 0 | 11111| 1 | 1000| 6|
|6+ | 0|0000001111101001| 0 | -11111| 0 | 1000| 6|
|7 | 0|0000001111101001| 0 | -11111| 0 | 1001| 7|
|6+ | 0|0000001111101001| 0 |*******| 0 | 1000| 6|
|7 | 0|0000001111101001| 0 |*******| 0 | 1001| 7|
|7+ | 0|1110001110011000| 0 | 11110| 1 | 1001| 7|
|8 | 0|1110001110011000| 0 | 11109| 1 | 1001| 8|
|8+ | 0|0000001111101000| 0 | -11110| 0 | 1001| 8|
|9 | 0|0000001111101000| 0 | -11110| 0 | 1000| 9|
|9+ | 11111|1111010011010000| 0 | -1| 0 | 1000| 9|
|10 | 11111|1111010011010000| 0 | -11112| 0 | 1000| 10|
|10+ | 11111|0000000000001110| 0 | 1000| 0 | 1000| 10|
|11 | 11111|0000000000001110| 0 | 14| 0 | 14| 11|
|11+ | 11111|1110001100000100| 0 | -1| 0 | 14| 11|
|12 | 11111|1110001100000100| 0 | -1| 0 | 14| 14|
|12+ | 11111|0000001111100111| 0 | 1| 0 | 14| 14|
|13 | 11111|0000001111100111| 0 | 1| 0 | 999| 15|
|13+ | 11111|1110110111100000| 0 | 1000| 0 | 999| 15|
|14 | 11111|1110110111100000| 0 | 1001| 0 | 1000| 16|
|8+ | 0|0000001111101000| 0 |*******| 0 | 1001| 8|
|9 | 0|0000001111101000| 0 |*******| 0 | 1000| 9|
|9+ | 11111|1111010011010000| 0 |*******| 0 | 1000| 9|
|10 | 11111|1111010011010000| 0 |*******| 0 | 1000| 10|
|10+ | 11111|0000000000001110| 0 |*******| 0 | 1000| 10|
|11 | 11111|0000000000001110| 0 |*******| 0 | 14| 11|
|11+ | 11111|1110001100000100| 0 |*******| 0 | 14| 11|
|12 | 11111|1110001100000100| 0 |*******| 0 | 14| 14|
|12+ | 11111|0000001111100111| 0 |*******| 0 | 14| 14|
|13 | 11111|0000001111100111| 0 |*******| 0 | 999| 15|
|13+ | 11111|1110110111100000| 0 |*******| 0 | 999| 15|
|14 | 11111|1110110111100000| 0 |*******| 0 | 1000| 16|
|14+ | 11111|1110001100001000| 0 | -1| 1 | 1000| 16|
|15 | 11111|1110001100001000| 0 | -1| 1 | 1000| 17|
|15+ | 11111|0000000000010101| 0 | 1000| 0 | 1000| 17|
|16 | 11111|0000000000010101| 0 | 21| 0 | 21| 18|
|16+ | 11111|1110011111000010| 0 | 0| 0 | 21| 18|
|17 | 11111|1110011111000010| 0 | 0| 0 | 21| 21|
|17+ | 11111|0000000000000010| 0 | 21| 0 | 21| 21|
|18 | 11111|0000000000000010| 0 | 2| 0 | 2| 22|
|18+ | 11111|1110000010010000| 0 | 1| 0 | 2| 22|
|19 | 11111|1110000010010000| 0 | 3| 0 | 2| 23|
|19+ | 11111|0000001111101000| 0 | -1| 0 | 2| 23|
|20 | 11111|0000001111101000| 0 | -1| 0 | 1000| 24|
|20+ | 11111|1110111010010000| 0 | -1| 0 | 1000| 24|
|21 | 11111|1110111010010000| 0 | -1| 0 | 1000| 25|
|21+ | 11111|1110001100000001| 0 | -1| 0 | 1000| 25|
|22 | 11111|1110001100000001| 0 | -1| 0 | 1000| 26|
|22+ | 11111|1110001100000010| 0 | -1| 0 | 1000| 26|
|23 | 11111|1110001100000010| 0 | -1| 0 | 1000| 27|
|23+ | 11111|1110001100000011| 0 | -1| 0 | 1000| 27|
|24 | 11111|1110001100000011| 0 | -1| 0 | 1000| 28|
|24+ | 11111|1110001100000100| 0 | -1| 0 | 1000| 28|
|25 | 11111|1110001100000100| 0 | -1| 0 | 1000| 1000|
|25+ | 11111|1110001100000101| 0 | -1| 0 | 1000| 1000|
|26 | 11111|1110001100000101| 0 | -1| 0 | 1000| 1000|
|26+ | 11111|1110001100000110| 0 | -1| 0 | 1000| 1000|
|27 | 11111|1110001100000110| 0 | -1| 0 | 1000| 1000|
|27+ | 11111|1110001100000111| 0 | -1| 0 | 1000| 1000|
|28 | 11111|1110001100000111| 0 | -1| 0 | 1000| 1000|
|28+ | 11111|1110101010010000| 0 | 0| 0 | 1000| 1000|
|29 | 11111|1110101010010000| 0 | 0| 0 | 1000| 1001|
|29+ | 11111|1110001100000001| 0 | 0| 0 | 1000| 1001|
|30 | 11111|1110001100000001| 0 | 0| 0 | 1000| 1002|
|30+ | 11111|1110001100000010| 0 | 0| 0 | 1000| 1002|
|31 | 11111|1110001100000010| 0 | 0| 0 | 1000| 1000|
|31+ | 11111|1110001100000011| 0 | 0| 0 | 1000| 1000|
|32 | 11111|1110001100000011| 0 | 0| 0 | 1000| 1000|
|32+ | 11111|1110001100000100| 0 | 0| 0 | 1000| 1000|
|33 | 11111|1110001100000100| 0 | 0| 0 | 1000| 1001|
|33+ | 11111|1110001100000101| 0 | 0| 0 | 1000| 1001|
|34 | 11111|1110001100000101| 0 | 0| 0 | 1000| 1002|
|34+ | 11111|1110001100000110| 0 | 0| 0 | 1000| 1002|
|35 | 11111|1110001100000110| 0 | 0| 0 | 1000| 1000|
|35+ | 11111|1110001100000111| 0 | 0| 0 | 1000| 1000|
|36 | 11111|1110001100000111| 0 | 0| 0 | 1000| 1000|
|36+ | 11111|1110111111010000| 0 | 1| 0 | 1000| 1000|
|37 | 11111|1110111111010000| 0 | 1| 0 | 1000| 1001|
|37+ | 11111|1110001100000001| 0 | 1| 0 | 1000| 1001|
|38 | 11111|1110001100000001| 0 | 1| 0 | 1000| 1000|
|38+ | 11111|1110001100000010| 0 | 1| 0 | 1000| 1000|
|39 | 11111|1110001100000010| 0 | 1| 0 | 1000| 1001|
|39+ | 11111|1110001100000011| 0 | 1| 0 | 1000| 1001|
|40 | 11111|1110001100000011| 0 | 1| 0 | 1000| 1000|
|40+ | 11111|1110001100000100| 0 | 1| 0 | 1000| 1000|
|41 | 11111|1110001100000100| 0 | 1| 0 | 1000| 1001|
|41+ | 11111|1110001100000101| 0 | 1| 0 | 1000| 1001|
|42 | 11111|1110001100000101| 0 | 1| 0 | 1000| 1000|
|42+ | 11111|1110001100000110| 0 | 1| 0 | 1000| 1000|
|43 | 11111|1110001100000110| 0 | 1| 0 | 1000| 1001|
|43+ | 11111|1110001100000111| 0 | 1| 0 | 1000| 1001|
|44 | 11111|1110001100000111| 0 | 1| 0 | 1000| 1000|
|44+ | 11111|1110001100000111| 1 | 1| 0 | 1000| 1000|
|45 | 11111|1110001100000111| 1 | 1| 0 | 1000| 0|
|45+ | 11111|0111111111111111| 0 | 1| 0 | 1000| 0|
|46 | 11111|0111111111111111| 0 | 1| 0 |32767| 1|
|15+ | 11111|0000000000010101| 0 |*******| 0 | 1000| 17|
|16 | 11111|0000000000010101| 0 |*******| 0 | 21| 18|
|16+ | 11111|1110011111000010| 0 |*******| 0 | 21| 18|
|17 | 11111|1110011111000010| 0 |*******| 0 | 21| 21|
|17+ | 11111|0000000000000010| 0 |*******| 0 | 21| 21|
|18 | 11111|0000000000000010| 0 |*******| 0 | 2| 22|
|18+ | 11111|1110000010010000| 0 |*******| 0 | 2| 22|
|19 | 11111|1110000010010000| 0 |*******| 0 | 2| 23|
|19+ | 11111|0000001111101000| 0 |*******| 0 | 2| 23|
|20 | 11111|0000001111101000| 0 |*******| 0 | 1000| 24|
|20+ | 11111|1110111010010000| 0 |*******| 0 | 1000| 24|
|21 | 11111|1110111010010000| 0 |*******| 0 | 1000| 25|
|21+ | 11111|1110001100000001| 0 |*******| 0 | 1000| 25|
|22 | 11111|1110001100000001| 0 |*******| 0 | 1000| 26|
|22+ | 11111|1110001100000010| 0 |*******| 0 | 1000| 26|
|23 | 11111|1110001100000010| 0 |*******| 0 | 1000| 27|
|23+ | 11111|1110001100000011| 0 |*******| 0 | 1000| 27|
|24 | 11111|1110001100000011| 0 |*******| 0 | 1000| 28|
|24+ | 11111|1110001100000100| 0 |*******| 0 | 1000| 28|
|25 | 11111|1110001100000100| 0 |*******| 0 | 1000| 1000|
|25+ | 11111|1110001100000101| 0 |*******| 0 | 1000| 1000|
|26 | 11111|1110001100000101| 0 |*******| 0 | 1000| 1000|
|26+ | 11111|1110001100000110| 0 |*******| 0 | 1000| 1000|
|27 | 11111|1110001100000110| 0 |*******| 0 | 1000| 1000|
|27+ | 11111|1110001100000111| 0 |*******| 0 | 1000| 1000|
|28 | 11111|1110001100000111| 0 |*******| 0 | 1000| 1000|
|28+ | 11111|1110101010010000| 0 |*******| 0 | 1000| 1000|
|29 | 11111|1110101010010000| 0 |*******| 0 | 1000| 1001|
|29+ | 11111|1110001100000001| 0 |*******| 0 | 1000| 1001|
|30 | 11111|1110001100000001| 0 |*******| 0 | 1000| 1002|
|30+ | 11111|1110001100000010| 0 |*******| 0 | 1000| 1002|
|31 | 11111|1110001100000010| 0 |*******| 0 | 1000| 1000|
|31+ | 11111|1110001100000011| 0 |*******| 0 | 1000| 1000|
|32 | 11111|1110001100000011| 0 |*******| 0 | 1000| 1000|
|32+ | 11111|1110001100000100| 0 |*******| 0 | 1000| 1000|
|33 | 11111|1110001100000100| 0 |*******| 0 | 1000| 1001|
|33+ | 11111|1110001100000101| 0 |*******| 0 | 1000| 1001|
|34 | 11111|1110001100000101| 0 |*******| 0 | 1000| 1002|
|34+ | 11111|1110001100000110| 0 |*******| 0 | 1000| 1002|
|35 | 11111|1110001100000110| 0 |*******| 0 | 1000| 1000|
|35+ | 11111|1110001100000111| 0 |*******| 0 | 1000| 1000|
|36 | 11111|1110001100000111| 0 |*******| 0 | 1000| 1000|
|36+ | 11111|1110111111010000| 0 |*******| 0 | 1000| 1000|
|37 | 11111|1110111111010000| 0 |*******| 0 | 1000| 1001|
|37+ | 11111|1110001100000001| 0 |*******| 0 | 1000| 1001|
|38 | 11111|1110001100000001| 0 |*******| 0 | 1000| 1000|
|38+ | 11111|1110001100000010| 0 |*******| 0 | 1000| 1000|
|39 | 11111|1110001100000010| 0 |*******| 0 | 1000| 1001|
|39+ | 11111|1110001100000011| 0 |*******| 0 | 1000| 1001|
|40 | 11111|1110001100000011| 0 |*******| 0 | 1000| 1000|
|40+ | 11111|1110001100000100| 0 |*******| 0 | 1000| 1000|
|41 | 11111|1110001100000100| 0 |*******| 0 | 1000| 1001|
|41+ | 11111|1110001100000101| 0 |*******| 0 | 1000| 1001|
|42 | 11111|1110001100000101| 0 |*******| 0 | 1000| 1000|
|42+ | 11111|1110001100000110| 0 |*******| 0 | 1000| 1000|
|43 | 11111|1110001100000110| 0 |*******| 0 | 1000| 1001|
|43+ | 11111|1110001100000111| 0 |*******| 0 | 1000| 1001|
|44 | 11111|1110001100000111| 0 |*******| 0 | 1000| 1000|
|44+ | 11111|1110001100000111| 1 |*******| 0 | 1000| 1000|
|45 | 11111|1110001100000111| 1 |*******| 0 | 1000| 0|
|45+ | 11111|0111111111111111| 0 |*******| 0 | 1000| 0|
|46 | 11111|0111111111111111| 0 |*******| 0 |32767| 1|
`;
5 changes: 4 additions & 1 deletion web/src/versions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { FileSystem } from "@davidsouther/jiffies/lib/esm/fs.js";
import { resetFiles, resetTests } from "@nand2tetris/projects/loader.js";

const VERSION_KEY = "version";
const CURRENT_VERSION = 10;
const CURRENT_VERSION = 11;

export function getVersion() {
return Number(localStorage.getItem(VERSION_KEY) ?? "0");
Expand Down Expand Up @@ -64,4 +64,7 @@ const versionUpdates: Record<number, (fs: FileSystem) => Promise<void>> = {
9: async (fs: FileSystem) => {
await resetTests(fs, [5]);
},
10: async (fs: FileSystem) => {
await resetTests(fs, [5]);
},
};

0 comments on commit 7eee37d

Please sign in to comment.