mes microcodi

This commit is contained in:
2025-02-05 07:19:53 +01:00
parent 57e91fbdef
commit 4dad2bc8a1

View File

@@ -135,64 +135,6 @@ BCC
CheckIfPageCrossed;
FetchOpcode
MICROINSTRUCTIONS
===========================================
FetchOpcode
DoOpcodeWork();
IR = Mem::Read(PC++);
Decode();
ResetState();
FakeFetchOperand
Address.Lo = Mem::Read(PC);
FetchOperandLo
Address.Lo = B = Mem::Read(PC++);
FetchOperandHi
Address.Hi = Mem::Read(PC++);
FetchOperandHiAndIndex
Address.Hi = Mem::Read(PC++);
if (Address.Lo+X/Y > 255) pageCrossed = true;
Address.Lo += X/Y;
ReadAddress
B = Mem::Read(Address);
if (pageCrossed) Address += 0x0100;
ReadAddressAndSkip
B = Mem::Read(Address);
if (pageCrossed)
Address += 0x0100;
else
InsertFetchOpcode();
IndexX
B = Mem::Read(Address);
Address.Lo += X;
FetchAddressLo
Add2.Lo = Mem::Read(Address++);
FetchAddressHi
Add2.Hi = Mem::Read(Address);
Address = Add2;
FetchAddressHiAndIndex
Add2.Hi = Mem::Read(Address);
if (Add2.lo+Y > 255) pageCrossed = true;
Address = Add2;
WriteRegister
if ((IR&3)==1) Mem::Write(Address, rA);
else if ((IR&3)==2) Mem::Write(Address, rX);
else if ((IR&3)==0) Mem::Write(Address, rY);
WriteAddress
Mem::Write(Address, B);
DoOpcodeWork();
CLC SEC CLI SEI CLD SED CLV
===========================