// This file is part of www.nand2tetris.org // and the book "The Elements of Computing Systems" // by Nisan and Schocken, MIT Press. // File name: projects/04/fill/FillAutomatic // This script can be used to test the Fill program automatically, // rather than interactively. Specifically, the script sets the keyboard // memory map (RAM[24576]) to 0, 1, and then again to 0. This simulates the // acts of leaving the keyboard untouched, pressing some key, and then releasing // the key. After each on of these simulated events, the script outputs the values // of some selected registers from the screen memory map (RAM[16384]-RAM[24576]). // This is done in order to test that these registers are set to 000...0 or 111....1, // as mandated by how the Fill program should react to the keyboard events. load Fill.hack, output-file FillAutomatic.out, compare-to FillAutomatic.cmp, output-list RAM[16384]%D2.6.2 RAM[17648]%D2.6.2 RAM[18349]%D2.6.2 RAM[19444]%D2.6.2 RAM[20771]%D2.6.2 RAM[21031]%D2.6.2 RAM[22596]%D2.6.2 RAM[23754]%D2.6.2 RAM[24575]%D2.6.2; set RAM[24576] 0, // the keyboard is untouched repeat 1000000 { ticktock; } output; // test that the screen is white set RAM[24576] 1, // a keyboard key is pressed repeat 1000000 { ticktock; } output; // test that the screen is black set RAM[24576] 0, // they keyboard in untouched repeat 1000000 { ticktock; } output; // test that the screen is white