'******************************************************************************
'* 
'* CENTRAL PROCESSOR UNIT PDP-11 etc. (16-bit) (PROCESSOR)
'*
'* !!! Amount of cycles per instruction is not exact yet
'*
'* 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)
'*
'* PDP-11 CPU interface (specific to this processor):
'*  - R(0)..R(7) or R0..R7 - all general purposes registers
'*  - PC=R(7) - 16-bit "program counter" register
'*  - SP=R(6) - 16-bit "stack pointer" register
'*  - FLAGS or F - 8-bit register of flags
'*  - FLAGS.CF (OF/VF,ZF,SF,TF) - separate flags as boolean values
'*  - FLAGS.IPL - 3-bit interrupt priority level
'*
'* Interrupts:
'*  - EMT  interrupt can be captured at index 6 (with Tag=0..255)
'*  - TRAP interrupt can be captured at index 7 (with Tag=0..255)
'*
'* 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_PDP11" 'internal implementation

//default starting values
Name="PDP-11" : Frequency=1000000  '1Mhz
