Fix/implement relocatable display memory
This commit is contained in:
parent
18ccc4d2df
commit
6883adcd71
|
|
@ -1,5 +1,5 @@
|
||||||
const { logMemory, num2hex } = require('./logging.js');
|
const { logMemory, num2hex } = require('./logging.js');
|
||||||
const { INITIAL_IP_ADDRESS, START_OF_DISPLAY_MEM } = require('./machine.config.js');
|
const { INITIAL_IP_ADDRESS, POINTER_TO_START_OF_DISPLAY_MEM } = require('./machine.config.js');
|
||||||
|
|
||||||
// 1 = verbose
|
// 1 = verbose
|
||||||
// 2 = what i'm currently focusing on
|
// 2 = what i'm currently focusing on
|
||||||
|
|
@ -30,7 +30,7 @@ function decodeInstructions(str) {
|
||||||
let lines = str.split(/\n/); // returns an array of lines
|
let lines = str.split(/\n/); // returns an array of lines
|
||||||
|
|
||||||
let machineCode = new Array(INITIAL_IP_ADDRESS).fill(0);
|
let machineCode = new Array(INITIAL_IP_ADDRESS).fill(0);
|
||||||
machineCode[0] = START_OF_DISPLAY_MEM;
|
machineCode[0] = POINTER_TO_START_OF_DISPLAY_MEM;
|
||||||
|
|
||||||
let labels = {};
|
let labels = {};
|
||||||
let IP = INITIAL_IP_ADDRESS;
|
let IP = INITIAL_IP_ADDRESS;
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,9 @@
|
||||||
const { START_OF_DISPLAY_MEM } = require('./machine.config');
|
const { POINTER_TO_START_OF_DISPLAY_MEM } = require('./machine.config');
|
||||||
const { num2hex } = require('./logging.js');
|
const { num2hex } = require('./logging.js');
|
||||||
|
|
||||||
exports.printDisplay = (mem) => {
|
exports.printDisplay = (mem) => {
|
||||||
const disp = START_OF_DISPLAY_MEM;
|
const disp = mem[POINTER_TO_START_OF_DISPLAY_MEM];
|
||||||
|
console.log('disp', disp);
|
||||||
for (let i = disp; i < disp + 16; i += 4) {
|
for (let i = disp; i < disp + 16; i += 4) {
|
||||||
console.log(`${num2hex(mem[i])} ${num2hex(mem[i+1])} ${num2hex(mem[i+2])} ${num2hex(mem[i+3])}`);
|
console.log(`${num2hex(mem[i])} ${num2hex(mem[i+1])} ${num2hex(mem[i+2])} ${num2hex(mem[i+3])}`);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
module.exports = {
|
module.exports = {
|
||||||
"INITIAL_IP_ADDRESS": 48,
|
"INITIAL_IP_ADDRESS": 48,
|
||||||
"START_OF_DISPLAY_MEM": 0,
|
"POINTER_TO_START_OF_DISPLAY_MEM": 0,
|
||||||
|
|
||||||
// max number of times to step the CPU,
|
// max number of times to step the CPU,
|
||||||
// to stop endless loops
|
// to stop endless loops
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
;; test re-locating display memory
|
||||||
|
LDA $10
|
||||||
|
STO $00 ; change pointer-to-display-memory to $10
|
||||||
|
STO $10
|
||||||
|
STO $11
|
||||||
|
STO $12
|
||||||
|
STO $13
|
||||||
|
END
|
||||||
Loading…
Reference in New Issue