accumulated old changes
This commit is contained in:
		| @@ -323,7 +323,10 @@ local function fixCode(code) | ||||
| 	return code | ||||
| end | ||||
| local stringEscapes = { ["\\"] = "\\", ["n"] = "\n", ["r"] = "\r", ["t"] = "\t", ["0"] = "\0", ["\""] = "\"", ["\'"] = "\'", } | ||||
| local prefixIdx = 0 | ||||
| local function prefixCode(code, fn) -- fix strings, add line numbers | ||||
| 	prefixIdx = prefixIdx + 1 | ||||
| 	 | ||||
| 	local outt = {} | ||||
| 	local outnextnl = {} | ||||
| 	local linenum = 1 | ||||
| @@ -335,7 +338,7 @@ local function prefixCode(code, fn) -- fix strings, add line numbers | ||||
| 	local state = "code" -- code, comment, string, stringesc, commentml | ||||
| 	 | ||||
| 	local lastbracelabel = 0 | ||||
| 	local function bracelabel() lastbracelabel = lastbracelabel+1; return "_BRACE_"..lastbracelabel.."_"; end | ||||
| 	local function bracelabel() lastbracelabel = lastbracelabel+1; return "_BRACE_"..string.format("%02d", prefixIdx)..lastbracelabel.."_"; end | ||||
| 	local bracestack = {} | ||||
| 	local bracehasmid = {} | ||||
| 	local lastnl = false | ||||
|   | ||||
										
											Binary file not shown.
										
									
								
							| @@ -668,6 +668,7 @@ function love.keypressed(k) | ||||
| 			elseif k=="o" then RunToNextInstr(cpu) | ||||
| 			elseif k=="r" then RunCPU = not RunCPU | ||||
| 			elseif k=="i" then CPU.c.irq = 1 | ||||
| 			elseif k=="u" then CPU.c.rfg = 1 | ||||
| 			end | ||||
| 		end | ||||
| 	end | ||||
|   | ||||
| @@ -200,8 +200,8 @@ void cpu_instr_108_3(struct CPU* const cpu, struct Memory* const mem) { storeutp | ||||
| void cpu_instr_108_4(struct CPU* const cpu, struct Memory* const mem) { lni; } | ||||
| void cpu_instr_110_0(struct CPU* const cpu, struct Memory* const mem) { loadimm161 cpu->cycle++; } | ||||
| void cpu_instr_110_1(struct CPU* const cpu, struct Memory* const mem) { loadimm162 cpu->cycle++; } | ||||
| void cpu_instr_110_2(struct CPU* const cpu, struct Memory* const mem) { storeut(hibyte(cpu->p)); cpu->cycle++; } | ||||
| void cpu_instr_110_3(struct CPU* const cpu, struct Memory* const mem) { storeutp1(lobyte(cpu->p)); cpu->cycle++; } | ||||
| void cpu_instr_110_2(struct CPU* const cpu, struct Memory* const mem) { storeut(hibyte(cpu->q)); cpu->cycle++; } | ||||
| void cpu_instr_110_3(struct CPU* const cpu, struct Memory* const mem) { storeutp1(lobyte(cpu->q)); cpu->cycle++; } | ||||
| void cpu_instr_110_4(struct CPU* const cpu, struct Memory* const mem) { lni; } | ||||
| void cpu_instr_112_0(struct CPU* const cpu, struct Memory* const mem) { loadimmedt cpu->cycle++; } | ||||
| void cpu_instr_112_1(struct CPU* const cpu, struct Memory* const mem) { subf(cpu->a,cpu->t); lni; } | ||||
|   | ||||
| @@ -5,12 +5,12 @@ return { | ||||
| 	["return"]        = 13, | ||||
| 	 | ||||
| 	["lshift"]        = 16, | ||||
| 	["lcontrol"]      = 17, | ||||
| 	["lctrl"]         = 17, --["lcontrol"]      = 17, | ||||
| 	["lalt"]          = 18, | ||||
| 	 | ||||
| 	-- this block does not match vkey codes | ||||
| 	["rshift"]        = 20, | ||||
| 	["rcontrol"]      = 21, | ||||
| 	["rctrl"]         = 21, --["rcontrol"]      = 21, | ||||
| 	["ralt"]          = 22, | ||||
| 	 | ||||
| 	-- this block does not match vkey codes | ||||
| @@ -18,7 +18,7 @@ return { | ||||
| 	["="]             = 25, | ||||
| 	[","]             = 26, | ||||
| 	["."]             = 27, | ||||
| 	["-"]             = 28, | ||||
| 	["-"]             = 28, -- not in bl | ||||
| 	["/"]             = 29, | ||||
| 	["`"]             = 30, | ||||
| 	 | ||||
| @@ -95,18 +95,18 @@ return { | ||||
| 	["kp."]           = 110, --["numpaddecimal"] = 110, | ||||
| 	["kp/"]           = 111, --["/"]             = 111, | ||||
| 	 | ||||
| 	["f1"]            = 112,  | ||||
| 	["f2"]            = 113,  | ||||
| 	["f3"]            = 114,  | ||||
| 	["f4"]            = 115,  | ||||
| 	["f5"]            = 116,  | ||||
| 	["f6"]            = 117,  | ||||
| 	["f7"]            = 118,  | ||||
| 	["f8"]            = 119,  | ||||
| 	["f9"]            = 120,  | ||||
| 	["f10"]           = 121,  | ||||
| 	["f11"]           = 122,  | ||||
| 	["f12"]           = 123,  | ||||
| 	["f1"]            = 112, | ||||
| 	["f2"]            = 113, | ||||
| 	["f3"]            = 114, | ||||
| 	["f4"]            = 115, | ||||
| 	["f5"]            = 116, | ||||
| 	["f6"]            = 117, | ||||
| 	["f7"]            = 118, | ||||
| 	["f8"]            = 119, | ||||
| 	["f9"]            = 120, | ||||
| 	["f10"]           = 121, | ||||
| 	["f11"]           = 122, | ||||
| 	["f12"]           = 123, | ||||
| 	 | ||||
| 	["invalid"]       = 127, | ||||
| } | ||||
|   | ||||
| @@ -334,7 +334,7 @@ instructions = { | ||||
| 	{ mnem="ldp *imm16" , opcode=0x68, {"loadImm161","instrSub1"}, {"loadImm162","instrSub2"}, {"loadUTU","adwIncUT","adwSaveP","instrSub3"}, {"adrlP","loadRegT","instrSub4"}, {"adwrUT","adwSaveP","instrNext"}, desc="P=*imm16", ccode={"loadimm161","loadimm162","cpu.p=wordut; cpu.u=loadut;","cpu.t=loadpp1;","cpu.p=wordut; lni;"} }, -- 0x69 | ||||
| 	{ mnem="ldq *imm16" , opcode=0x6A, {"loadImm161","instrSub1"}, {"loadImm162","instrSub2"}, {"loadUTU","adwIncUT","adwSaveQ","instrSub3"}, {"adrlQ","loadRegT","instrSub4"}, {"adwrUT","adwSaveQ","instrNext"}, desc="Q=*imm16", ccode={"loadimm161","loadimm162","cpu.q=wordut; cpu.u=loadut;","cpu.t=loadqp1;","cpu.q=wordut; lni;"} }, -- 0x6B | ||||
| 	{ mnem="stp *imm16" , opcode=0x6C, {"loadImm161","instrSub1"}, {"loadImm162","instrSub2"}, {"storeUT","alurPH","instrSub3"}, {"storeUT","adrInc","alurPL","instrSub4"}, {"instrNext"}, desc="*imm16=P", ccode={"loadimm161","loadimm162","storeut(hibyte(cpu.p));","storeutp1(lobyte(cpu.p));","lni;"} }, -- 0x6D | ||||
| 	{ mnem="stq *imm16" , opcode=0x6E, {"loadImm161","instrSub1"}, {"loadImm162","instrSub2"}, {"storeUT","alurQH","instrSub3"}, {"storeUT","adrInc","alurQL","instrSub4"}, {"instrNext"}, desc="*imm16=Q", ccode={"loadimm161","loadimm162","storeut(hibyte(cpu.p));","storeutp1(lobyte(cpu.p));","lni;"} }, -- 0x6F | ||||
| 	{ mnem="stq *imm16" , opcode=0x6E, {"loadImm161","instrSub1"}, {"loadImm162","instrSub2"}, {"storeUT","alurQH","instrSub3"}, {"storeUT","adrInc","alurQL","instrSub4"}, {"instrNext"}, desc="*imm16=Q", ccode={"loadimm161","loadimm162","storeut(hibyte(cpu.q));","storeutp1(lobyte(cpu.q));","lni;"} }, -- 0x6F | ||||
| 	{ mnem="ldp *p"     , opcode=0x92, {"adrlP","load161","instrSub1"}, {"adrlP","load162","instrSub2"}, {"adwrUT","adwSaveP","instrNext"}, desc="P=*P", ccode={"cpu.u=loadp;","cpu.t=loadpp1;","cpu.p=wordut; lni;"} }, | ||||
| 	{ mnem="ldq *p"     , opcode=0x93, {"adrlP","load161","instrSub1"}, {"adrlP","load162","instrSub2"}, {"adwrUT","adwSaveQ","instrNext"}, desc="Q=*P", ccode={"cpu.u=loadp;","cpu.t=loadpp1;","cpu.q=wordut; lni;"} }, | ||||
| 	{ mnem="ldp *q"     , opcode=0x94, {"adrlQ","load161","instrSub1"}, {"adrlQ","load162","instrSub2"}, {"adwrUT","adwSaveP","instrNext"}, desc="P=*Q", ccode={"cpu.u=loadq;","cpu.t=loadqp1;","cpu.p=wordut; lni;"} }, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Redo
					Redo