HSP性エミュを作るスレ Part1
■ このスレッドは過去ログ倉庫に格納されています
0047デフォルトの名無しさん
NGNG#deffunc cpu_reset
A=0 : P=Z_FLAG|R_FLAG : X=0 : Y=0 : S=0xff
mem_read RESET_VECTOR : PC=stat
dup STACK, Ram.0x100
dim ZN_table,256
repeat 0x80,0x00 : ZN_table.cnt=0 : loop
repeat 0x80,0x80 : ZN_table.cnt=N_FLAG : loop
ZN_table.0 = Z_FLAG
return
CPUループHSPバージョンその1
ほっとんどhpiまかせ、nes_ からはじまる命令は全部hpiがやってるの f(^_^)
#deffunc cpu_exec
mref Cycle,0
totalcycle = 0
repeat
nes_cpu_getPC : mem_read stat : op = stat ; フェッチ♪
totalcycle += opecycle.op
nes_cpu_exec 1
if totalcycle > Cycle : break
loop
return
ここからダミーの実行ルーチンをいれて
#deffunc cpu_exec
mref Cycle,0
totalcycle = 0
repeat
nes_cpu_getPC : mem_read stat : op = stat ; フェッチ♪
if op=0x00 : goto *next
if op=0x01 : goto *next
(256通りに分岐 ながいから しょ〜りゃくっ!)
if op=0xff : goto *next
*next
totalcycle += opecycle.op
nes_cpu_exec 1
if totalcycle > Cycle : break
loop
return
って命令の分岐をいれてみたらもう L(・o・)」あんびり〜ばぼ〜☆
激遅のおっそおそになっちゃって、Ghzクラスのマシンじゃカクカク(;_;)
HSPの恐ろしさを思い知ったわ
■ このスレッドは過去ログ倉庫に格納されています