'******************************************************************************
'* 
'* CENTRAL PROCESSOR UNIT m6502 (8-bit) (PROCESSOR)
'*
'* PROCESSOR interface (common to all processors):
'*  - Name as string(15) - name of processor (15 chars max length)
'*  - Frequency as dword - can be changed by user on emulation start only (Hz)
'*  - CoreID as dword - identifier of CPU core (0-m6502,1-m6502/nes)
'*  - Cycles as int64 - count of cycles, passed from start of execution (read only)
'*
'* m65xx interface (specific to this processor):
'*  - PC - 16-bit "program counter" register
'*  - A,X,Y,SP - 8-bit registers
'*  - FLAGS or F - 8-bit register of flags
'*  - FLAGS.CF (ZF,IF,DF,BF,OF/VF,SF) - separate flags as boolean values
'*
'* Interrupts:
'*  - hardware interrupts can be captured at their indexes (0000h..FFFDh)
'*  - software interrupt BRK can be captured at index FFFEh
'*  - non-maskable interrupt NMI can be captured at index FFFFh
'*
'* Version history:
'*  2008-2009 - initial emulation (by WadiM)
'*
'* Note: - implementation currently is completly internal ("interpreter")
'*       - processor devices different from ordinary devices and implement
'*         special PROCESSOR interface, which is mostly hidden (temporary)
'*       - currently processors auto-registered in system after object created
'*         (by "use"), but at this moment supported only single-CPU emulation
'*
'****************************************************************************** 

public use internal "CPU_M6502" 'internal implementation

//default starting values
Name="M6502" : Frequency=1000000  '1Mhz
