CEF32

CEF32 For Emulator Developers
Last Modification: 16-October-2007

Introduction

CEF32 is an implementation of the Computer Emulation Framework (CEF) V1.7 for Microsoft Windows 95 and later. It is distributed with several default components. This will allow developers to rapidly develop emulators for various CPUs, since CEF32 and the default components provide most of the non-CPU framework required for an emulator. This document describes the default components provided with CEF32 and also defines how the CEF32 application adds features beyond the CEF specification. CEF32 provides the TUI_Interface, TMaster_Clock, and TMaster_Assembler objects. It also serves as a reference implementation of the specification. CEF32 differences from the specification CEF32 provides all of the features of the CEF specification, except as described in this section. Additional capabilities are also described here. The memory display is limited to 2^63 addresses instead of 2^64. The Master assembler Add_Reference and Add_Reference_Ex methods only support bit ranges that reside entirely within a single byte. Bases from 37 through 49, inclusive, are supported in addition to the CEF standard 2 through 36. CEF32 supports additional features in expressions. The following additional operators are available:

Operator
Description
!
Factorial (do a factorial of the previous value)
%
Percentage (divide the previous value by 100)
MOD
Division remainder only
MIN
Return left side value if greater than the right side value, otherwise, return the right side value
MAX
Return left side value if less than the right side value, otherwise, return the right side value
SHR
Shift value right (value interpreted as a signed 2s complement integer)
SHL
Shift value left (value interpreted as a signed 2s complement integer)
AND
Bitwise and (value interpreted as a signed 2s complement integer)
OR
Bitwise or (value interpreted as a signed 2s complement integer)
XOR
Bitwise exclusive-or (value interpreted as a signed 2s complement integer)
&
Bitwise and (synonym of AND)
|
Bitwise or (synonym of OR)
<<
Shift value left (Synonym of SHL).
>>
Shift value right (Synonym of SHR).
PI  is  a  predefined  constant  equal  to  3.14159265...

Functions have the form:

FUNCTION(expression)

where  expression  is  the  value  to  perform  the  function  on. Available trigonometric functions are:
Function
Description
TAN
Tangent
SIN
Sine
COS
Cosine
SEC
Secant
COT
Cotangent
CSC
Cosecant
ARC and
Hyperbolic functions are available by prefixing the trigonometric function name with "ARC", "HYP", or "HYPARC" (eg ARCTAN and HYPARCSEC).  Other functions available:
Function
Description
RAD
Degree to radian conversion
DEG
Radian to degree conversion
ABS
Absolute value
EXP
Constant E raised to the specified power
INT
Integer
LOG
Natural logarithm
LOG10
Common logarithm
SQR
Square root
SGN
Sign (returns -1 if negative, 1 if positive, or 0 if 0).
FIB
Fibonacci sequence
Command-line Options
CEF32 can be started with a command line that automatically loads an emulator (.cef) file.  Passing the emulator file, preceeded by a commercial at-sign (@), causes CEF32 to load that file.  The file extension is not required if it is ".cef".  Example:

CEF32 @Altair


CEF_Util.dll
This DLL implements the CEF Utilites Specification.  It is used by several of the included components.


Supplied Standard Components
The following components are provided with CEF32 for the benefit of emulator developers.  Use of these components are not required, but can save development time.

Altair.dll
This is an emulator for the MITS Altair 8800  microcomputer.  It can also emulate the IMSAI 8080.  It  starts up with one serial port (port 0) and a front panel. 

Apple_2_KB.dll
This is a keyboard component that uses an Apple II  keyboard layout. 
The keyboard has the following keys:
Key Name
Description
CONTROL
LEFT_SHIFT
REPT
RESET
RIGHT_SHIFT

ASR33_KB.dll
This is a keyboard component that uses an ASR-33  Teletype keyboard layout. 
The keyboard has the following keys:
Key Name
Description
BREAK
CONTROL
HERE IS
LEFT_SHIFT
REPT
RIGHT_SHIFT

CEFClock.dll
This is an ultra-simple master clock component  implementation.  It serves as a means of keeping track  of time (in terms of emulation) and as an example of a  clock component implementation.  However, it is  unsuitable for more demanding applications as it doesn't  actually block any components. 

CEFMemory.dll
This is a 64-bit-address memory.  It allocates used  memory in 256 byte chunks (with some overhead), so it  uses only as much memory as is written to.  But it is  slower than the S64K_RAM component due to  additional overhead. 

Cosmac_Elf.dll
This is an emulator for the Cosmac Elf microcomputer,  interface as described in the August 1976  Popular Electronics article. 

DL11.dll
This emulates a DEC KL11/DL11-A serial interface  board.  Connect a cable component to the component  to allow I/O.  The default address and vector are for the  UNIBUS system console. 
Startup commands:
Command
Description
ADDRESS n
Set addresses to n through n+7.
NOPARITY
Turns off parity (default).
PARITY
Turns on parity.
RECEIVE n
Set receive baud rate to n.
SEND n
Set transmit baud rate to n.
VECTOR n
Set vectors to n through n+7.

F3850.dll
This is an 8-bit CPU component that emulates the  Fairchild 3850 microprocessor with the 3853 SMI.  
 Characteristics:
Big Endian      No
Clock rate      2 MHz
Default Base    16
Page size       256
GenScreen.dll This provides a generic memory-mapped screen component. It shows a specified number of rows and columns mapped to a contiguous range of memory addresses. Startup commands:
Command
Description
COLUMNS n
Number of columns.  The value is assumed to be hexadecimal unless it is terminated with a period (.) - indicating a decimal value.
NOPARALLEL
The screen updated synchronously with the rest of the program.
PARALLEL
The screen is managed in a separate thread (default).
ROWS n
Number of rows.  The value is assumed to be hexadecimal unless it is terminated with a period (.) - indicating a decimal value.
START n
Starting address of screen memory.  The value is assumed to be hexadecimal unless it is terminated with a period (.) - indicating a decimal value
TITLE x
Change caption of screen window to x.  If the text contains any spaces the entire text must be enclosed in quotes (").

i8008.dll
This component emulates an Intel 8008 8-bit  microprocessor. 
 Characteristics:
Big Endian      No
Clock rate      800 KHz
Default Base    8
Page size       256
IMM860.dll Emulates an Intel Imm8-60 serial I/O board. There is a single I/O connection consisting of four ports (default of 0, 1, 8, and 9). Startup commands:
Command
Description
ADDRESS n
Use port addresses n, n+1, n+8, and n+9.  The default is n=0.
NOPARITY
Turn off parity checking.  This is the default.
PARITY
Turn on parity checking.
SEND n
Set sending baud rate to n (default is 0 for automatch)
RECEIVE n
Set receiving baud rate to n (default is 0 for automatch.

LA120_KB.dll
This is a keyboard component that uses a DEC LA120  (DecWrite III) keyboard layout.
There is a small alphanumeric display on the keyboard, which is accessed by writing to the keyboard component's memory. Memory address 0 is for the far-right character of the display; address 1 is for the next-to-far-right character; address 2 is for the next character to the left, and so on. There is room for roughly 4 characters on the display.
The keyboard has the following keys:
Key Name
Description
BREAK
CAPS LOCK
CONTROL
HERE IS
LEFT_SHIFT
LINE LOCAL
LOCAL LINE FEED
LOCAL FORM FEED
NKP_0
0 on the numeric keypad.
NKP_1
1 on the numeric keypad.
NKP_2
2 on the numeric keypad.
NKP_3
3 on the numeric keypad.
NKP_4
4 on the numeric keypad.
NKP_5
5 on the numeric keypad.
NKP_6
6 on the numeric keypad.
NKP_7
7 on the numeric keypad.
NKP_8
8 on the numeric keypad.
NKP_9
9 on the numeric keypad.
NKP_.
. on the numeric keypad.
NKP_,
, on the numeric keypad.
NKP_-
- on the numeric keypad.
NKP_ENTER
Enter on the numeric keypad.
PF1
PF2
PF3
PF4
RIGHT_SHIFT
SET-UP
The component also supports the following LEDs:
Name
ALT CHAR SET
CTS
DSR
LED 3
LOCAL
ON LINE
PAPER OUT
SETUP

LK201_KB.dll
is is a keyboard component that uses a DEC LK201  keyboard layout. 
The keyboard has the following keys:
Key Name
Description
COMPOSE CHARACTER
CONTROL
DO
DOWN
Down arrow
F1
F2
F3
F4
F5
F6
F7
F8
F9
F10
F11
F12
F13
F14
F17
F18
F19
F20
FIND
HELP
INSERT HERE
LEFT
Left arrow.
LEFT_SHIFT
LOCK
NEXT SCREEN
NKP_0
0 on the numeric keypad.
NKP_1
1 on the numeric keypad.
NKP_2
2 on the numeric keypad.
NKP_3
3 on trhe numeirc keypad.
NKP_4
4 on the numeric keypad.
NKP_5
5 on the numeric keypad.
NKP_6
6 on the numeric keypad.
NKP_7
7 on the numeric keypad.
NKP_8
8 on the numeric keypad.
NKP_9
9 on the numeric keypad.
NKP_.
. on the numeric keypad.
NKP_,
, on the numeric keypad.
NKP_ENTER
- on the numeric keypad.
PF1
Enter on the numeric keypad.
PF2
PF3
PF4
PREV SCREEN
RIGHT
Right arrow.
RIGHT_SHIFT
REMOVE
SELECT
UP
Up arrow.

Null.dll
This is a null component, which performs no functions  but can be used as a placeholder for other components. 

Panel.dll
This is an old-style "font panel", with LEDs for address  and data lines.  It queries connected components for  available signals and shows those as well.  
Startup commands:
Command
Description
ADDRESS n
Show n address lines.  The value is assumed to be hexadecimal unless it is terminated with a period (.) - indicating a decimal value
DATA n
Show n data lines.  The value is assumed to be hexadecimal unless it is terminated with a period (.) - indicating a decimal value
TITLE x
Change caption of panel to x.  If the text contains any spaces the entire text must be enclosed in quotes (").

PC108_KB.dll
This is a 108-key keyboard component that uses a  standard PC layout. 
The keyboard has the following keys:
Key Name
Description
BREAK
CAPS LOCK
DOWN
Down arrow.
END
F1
F2
F3
F4
F5
F6
F7
F8
F9
F10
F11
F12
HOME
INSERT
LEFT
Left arrow.
LEFT_ALT
LEFT_CONTROL
LEFT_SHIFT
LEFT_WINDOWS
NKP_0
0 on the numeric keypad.
NKP_1
1 on the numeric keypad.
NKP_2
2 on the numeric keypad.
NKP_3
3 on the numeric keypad.
NKP_4
4 on the numeric keypad.
NKP_5
5 on the numeric keypad.
NKP_6
6 on the numeric keypad.
NKP_7
7 on the numeric keypad.
NKP_8
8 on the numeric keypad.
NKP_9
9 on the numeric keypad.
NKP_ENTER
Enter on the numeric keypad.
NKP_+
+ on the numeric keypad.
NKP_.
. on the numeric keypad.
NKP_-
- on the numeric keypad.
NKP_/
/ on the numeric keypad.
NKP_*
* on the numeric keypad.
NUM LOCK
PAGE DOWN
PAGE UP
PAUSE
POPUP
POWER
PRINT SCREEN SYSRQ
RIGHT
Right arrow.
RIGHT_ALT
RIGHT_CONTROL
RIGHT_SHIFT
RIGHT_WINDOWS
SCROLL LOCK
SLEEP
UP
Up arrow.
WAKE UP
The component also supports the following LEDs:
Name
NUM LOCK
CAPS LOCK
SCROLL LOCK

PDP11.dll
This is a 16-bit CPU component that emulates the DEC  PDP-11/05, PDP-11/10, PFP-11/15, and PDP-11/20  CPUs. 
 Characteristics:
Big Endian      No
Default Base    8
Page size       256
Startup commands:
Command
Description
MODEL=n
Sets the component to emulate the specified CPU model.  Valid models = 5, 10, 15, and 20.  For instance "MODEL=10" configures the CPU as a PDP-11/10.
KD11-B
Same as MODEL=5
KC11
Same as MODEL=15.
KA11
Same as MODEL=20 (default).

RCA1802.dll
This is an 8-bit CPU component that emulates the RCA  CDP1802 and CDP1806 microprocessors.  NOTE: The  1806 mode has not been rigorously tested. 
 Characteristics:
Big Endian      Yes
Clock rate      5 MHz
Default Base    16
Page size       256
Startup commands:
Command
Description
1802
Sets the component to CDP1802 emulation (the default).
1806
Sets the component to CDP1806 emulation.
This CPU component assembler uses the following conditional assembly symbols:
Name
Description
CDP1802
Defined if the assembler CPU is in 1802 mode.
CDP1806
Defined if the assembler CPU is in 1806 mode.

S64K_RAM.dll
This is a 64K static RAM memory component.  The valid maximum address range is 0 to 65535, inclusive.  This  allocates a 64K buffer in memory and is, therefore, much  faster than the CEFMemory component. 
Startup commands:
Command
Description
HIGH n
Sets the highest address responded to by the memory.  The value is assumed to be hexadecimal unless it is terminated with a period (.) - indicating a decimal value.
LOAD x
Loads the contents of memory from the specified filename (x). If the filename contains spaces, it must be enclosed in single (') or double (") quotes.  The loaded file is assumed to be a memory image which 
LOW n
Sets the lowest address responded to by the memory.  The value is assumed to be hexadecimal unless it is terminated with a period (.) - indicating a decimal value.
ROM
Sets entire memory range to read-only.

Serial.dll
This is a generic serial cable component implementation.   It maintains the states and signals found in standard  RS-232C serial cables.  It serves as an interface  between a non-cable component and a cable  component.   
The following signals are supported by this component:
Signal Name
Description
CD
Carrier Detect
DSR
Data Set Ready
CTS
Clear To Send
RTS
Ready To Send
DTR
Data Terminal Ready
RI
Ring Indicator

SIO.dll
This emulates a S-100 bus MIT 88-SIO board.  It  consists of two physical ports, the first is the I/O status,  and the second is the I/O latch.  The second port is  always the first port + 1.  The default ports are 0 and 1,  but can be set to any two contiguous ports.  Connect a  cable component to the SIO component to allow I/O. 
Startup commands:
Command
Description
PORT n
Set ports to n (status) and n+1 (data).

SOL20.dll
This is an emulator for the Processor Technology  SOL-20 personal computer.  This implements the  keyboard, screen, screen RAM, and external interfaces.   Use the sol20.cef file for setting up a complete SOL-20  emulation. 

SOL20_KB.dll
This is a keyboard component that uses a PT SOL-20  keyboard layout.  
The keyboard has the following keys:
Key Name
Description
BREAK
CLEAR
CONTROL
DIVIDE
Arithmetic divide symbol.
DOWN
Down arrow.
HOME CURSOR
LEFT
Left arrow.
LOAD
LOCAL
MODE SELECT
RIGHT
Right arrow.
SHIFT
SHIFT LOCK
UP
Up arrow.
UPPER CASE
The component also supports the following LEDs:
Name
LOCAL
LOCK
UPPER

TRS80_1_KB.DLL
This is a keyboard component that uses a TRS-80  Model I keyboard layout. 
The keyboard has the following keys:
Key Name
Description
BREAK
CLEAR
DOWN
Down arrow.
LEFT
Left arrow.
NKP_.
. on the numeric keypad.
NKP_ENTER
ENTER on the numeric keypad.
NKP_0
0 on the numeric keypad.
NKP_1
1 on the numeric keypad.
NKP_2
2 on the numeric keypad.
NKP_3
3 on the numeric keypad.
NKP_4
4 on the numeric keypad.
NKP_5
5 on the numeric keypad.
NKP_6
6 on the numeric keypad.
NKP_7
7 on the numeric keypad.
NKP_8
8 on the numeric keypad.
NKP_9
9 on the numeric keypad.
RIGHT
Right arrow.
SHIFT
UP
Up arrow. 

VDM1.dll
This is a S-100 VDM-1 video and screen emulator.  Two  fonts are supplied for this component named 6574.c and  6575.c. 
Startup commands:
Command
Description
CLEAR
Initializes display memory to spaces.
CONTROL
Display controls.  This is the default.
CURSOR x
Sets the cursor mode to "x", where "x" is one of the following:
NONE = No cursor
BLINK = Blinking cursor
SOLID = Solid cursor
FONT x
use character set "x", where "x" is 6574 (the default) or 6575.
INVERT
Sets the screen to inverted video.  The default is normal video.
NOPARALLEL
The screen is updated sychronously with the rest of the program.
PARALLEL
The screen is managed in a separate thread (default).
PORT n
Sets the current port to address n (default is C8 hex).
NOCONTROL
Don't display controls.  The default is to display controls.
NORMAL
Sets the screen to normal video.
START n
Sets the lowest memory address mapped to the screen.  The value is assumed to be hexadecimal unless it is terminated with a period (.) - indicating a decimal value.
TEST
Fills the screen with a test pattern.
TTILE x
Sets the screen window caption to "x".
TOP n
Sets the top line counter to n.

VT05.dll
This is a simple video terminal component.  It uses the  VT05_KB keyboard, and can emulate a "glass  teletype", the DEC VT05 terminal, and the DEC VT50  terminal.  In addition, numerous individual parameters  can  be adjusted.  It includes support for swappable  keyboards and a printer port. 
Startup commands:
Command
Description
8_BIT
Display 8-bit characters (otherwise trim high bit).
AUTO_COPY
Turn auto copy on.
BAUD x
Sets baud rate to x.  x may be "AUTO" for auto-baud rate.
COLUMNS n
Sets number of screen columns to x.  The total screen size (rows times columns) must be no more than 32,768.
COLUMN n
Sets cursor position to n.
CONTROL x
Defines how control characters received by the terminal are handled.  x is one of the following:
BLANK = Do not display control characters
IGNORE = Ignore control characters
NOBLANK = Display control characters
NOIGNORE = Do not ignore control characters.
CURSOR x
Defines cursor mode.  x is one of the following:
NONE = No cursor is shown.
BLINK = Cursor blinks. See RATE.
SOLID = Solid cursor (underline otherwise).
DATA_BITS n
Sets the transmitted data bits to x.  Default is 8.
EMULATION x
Sets terminal emulation.  x is one of the following:
TTY = Component emulates a "glass teletype".
VT05 = Component emulates a DEC VT05 terminal.
VT50 = Component emulates a DEC VT50 termainl.
FLOW x
Defines the flow-control mechanism used on the serial interface.  x can be one of the following:
FONT{/WINDOWS} x
Defines the character set.  x is the character set file to load.  If /WINDOWS is specified, x is interpreted as a Windows font name.
KEYBOARD x
Change keyboard to use the component specified as x.  Note that the component name must include a complete path and filename, including extension.  Also unhides the keyboard.
LOG{/APPEND} x
Log received data to file x.  If /APPEND is specified, the file is appended to, otherwise it is overwritten if it exists
MAP k x
Maps Windows key k to text in x.  In addition to normal ASCII characters, valid Windows key names are:
F1
F2

F3
F4
F5
F6
F7
F8
F9
F10
F11
F12
CANCEL
CLEAR
PAUSE
PAGE_UP
PAGE_DOWN
END_CB
PRINT
INSERT
SPACE
TAB
ESCAPE
CR
LF
RUB OUT
BREAK
MARGIN x
Set screen margin to x pixels.
MARGIN_BELL
Sound bell when cursor reaches end of row.
MIXEDCASE x
Defines uppercase conversions.  x is one of the following:
IN = Do not convert all in-coming characters to uppercase. This is the default.
OUT = Do not convert all out-going characters to uppercase. This is the default.
NO8_BIT
Trim high bit from displayed characters.  This is the default.
NOAUTO_COPY
Turn auto copy off.  This is the default.
NOKEYBOARD
Hide keyboard.
NOMARGIN_BELL
Do not sound bell when cursor reaches end of row.  This is the default.
NOPARALLEL
Runs display synchronously with the rest of the application.
NORMAL
Sets screen to normal (white on black).  This is the default.
NOSCROLL
Do not scroll screen.
NOWRAP
Do not move cursor to next line when past end of line.
PARALLEL
Runs display as a separate thread (default).
PPBAUD x
Sets printer port baud rate to x.  x may be "AUTO" for auto-baud rate.
PPDATA_BITS n
Sets the transmitted data bits to x for the printer port. Default is 8.
PPFLOW x
Defines the flow-control mechanism used on the printer port interface. x can be one of the following:
NONE = No flow control (teh default).
XOFF = Use XON/XOFF flow control.
CTS = Use CTS/RTS flow control.
PPSTOP n
Sets the number of stop bits on the printer port interface to n, where n is "1" or "2".
PRINTER n
Connect to a cable component, specified as x, to the printer port.  Note that the component name must include a complete path and filename, including extension.
RATE n
Set cursor blink rate to n milliseconds.
ROW n
Set cursor row to n.
ROWS n
Sets the number of screen rows to n.
SCROLL
Allow scrolling.  This is the default.
STOP n
Sets the number of stop bits on the serial interface to n, where n is "1" or "2".
UPPERCASE x
Defines uppercase conversions.  x is one of the following:
IN = Convert all in-coming characters to uppercase.
OUT = Convert all out-going characters to uppercase.
WRAP
Move cursor to next line when past end of line.  This is the default.

VT05_KB.dll
This is a keyboard component that uses a DEC VT05  keyboard layout. 
The keyboard has the following keys:
Key Name
Description
BREAK
CONTROL
DOWN
Down arrow.
EEOL
EEOS
LEFT
Left arrow.
RIGHT
Right arrow.
SHIFT
LOCK
Shift lock.
UP
Up arrow.

VT100_KB.dll
This is a keyboard component that uses a DEC VT100  keyboard layout. 
The keyboard has the following keys:
Key Name
Description
BREAK
CAPS LOCK
CONTROL
DOWN
Down arrow.
LEFT
Left arrow.
LEFT_SHIFT
PF1
PF2
PF3
PF4
RIGHT
Right arrow.
RIGHT_SHIFT
SET-UP
UP
Up arrow.

VT52_KB.dll
This is a keyboard component that uses a DEC VT52  keyboard layout. 
The keyboard has the following keys:
Key Name
Description
BREAK
LEFT
Left arrow.
RIGHT
Right arrow.
UP
Up arrow.
DOWN
Down arrow.
CONTROL
CAPS LOCK
LEFT_SHIFT
Left shift.
RIGHT_SHIFT
Right shift.
COPY
REPEAT
SCROLL
NKP_ENTER
Enter on the numeric keypad.
NKP_0
0 on the numeric keypad.
NKP_1
1 on the numeric keypad.
NKP_2
2 on the numeric keypad.
NKP_3
3 on the numeric keypad.
NKP_4
4 on the numeric keypad.
NKP_5
5 on the numeric keypad.
NKP_6
6 on the numeric keypad.
NKP_7
7 on the numeric keypad.
NKP_8
8 on the numeric keypad.
NKP_9
9 on the numeric keypad.

Z80.dll
This is an 8-bit CPU component that emulates the Intel  8080 and 8085 microprocessors as well as the Zilog  Z80 (the default emulation).  NOTE: This component  has not been rigorously tested but has run some 8080  programs successfully. 
 Characteristics:
Big Endian      No
Clock rate      2 MHz
Default Base    10
Page size       256
Startup commands:
Command
Description
8080
Sets the component to Intel 8080 emulation.
8085
Sets the component to Intel 8085 emulation.
Z80
Sets the component to Zilog Z80 emulation.
This CPU component assembler uses the following conditional assembly symbols:
Name
Description
I8080
Defined if the assembler CPU is in 8080 mode.
I8085
Defined if the assembler CPU is in 8085 mode.
Z80
Defined if the assember CPU is in Z80 mode.


Emulators
The following emulator files provide complete machine emulation for various systems:

Altair.cef
A MITS Altair 8800/IMSAI 8080 emulator with front panel, 64K of RAM, 1 88-SIO S-100 serial port  (expandable to 127 serial ports), and 8080 CPU.   Contains a port manager for easily adding/removing  serial ports and connetting them to cable components. 
Cosmac_elf.cef A Cosmac Elf emulator, as described in the August 1976 issue of Popular Electronics.
Intellec8.cef This component emulates an Intel Intellec8 microcomputer with an 8008 CPU, 16 Kb of RAM, and an Imm8-60 serial interface connected to a VT05.
PDP11.cef A DEC PDP-11/20 emulator, comprised of a PDP-11/20 CPU, 56 Kb RAM, 1 DL11 serial interface, and a VT05 system console.
Sample emulators The following files are provided with CEF32 as examples. F8.cef A sample emulator file that configures a Fairchild 3851/3853 CPU and 64 Kb of RAM.
SOL20.cef A sample emulator file for the Processor Technology SOL-20 computer. It references a non-existent ROM file, but appears to work if you provide a valid ROM image.
TRS80.cef A sample emulator file. It references non-existent files, but serves as an example of an emulator file.
Fonts The following font files are provided with CEF32. 6574.c 5x7 alphanumeric font.
6575.c 5x7 alphanumeric font.
Emulator Script Files CEF32 can load CEF emulator definition files which automatically marshal the appropriate components to emulate a specific machine. These files have a default extension of .cef. See the included sample *.cef files for examples of the format of these files. In addition to the commands described in the CEF specification, several others are added. The following list is a comprehensive and complete list. The valid commands are:
Command
Description
ASCII 
Show text in memory display as ASCII.
BYTE
Show default data size to 1 byte.
CAPTION x
Set CEF caption to x.
CONNECT x y
Connect component named x to component named y.  Component y is connected to the output of x.  Both components must be loaded.  If the names contain spaces, they should be enclosed in quotes.
DISCONNECT x y
Disconnect component named x from component named y.  If the names contain spaces, they should be enclosed in quotes.
DOUBLE
Convert default data size to double long integer (8 bytes).
EBCDIC
Show text in memory display as EBCDIC.
HIDE
Hide the CEF application.
HIGH x
Set highest valid memory address to x.
IMMEDIATE x
Execute command x in immediate mode.  If x contains spaces, it must be enclosed in quotes.
LOAD x {y}
Load component from DLL named x.  Optionally a command line can be passed to the component as y.  If the command line contains spaces, it must be enclosed in quotes.  "/NAME=z" may be appended to the e
nd of the line, where z is the name by which this component will be referenced.
LONG
Set default data size for long integer (4 bytes).
LOW x
Set lowest valid memory address to x.
RADIX
Sets default base for numbers (2 through 49).
RUN
Starts execution of the (default) CPU.
SIGNED
Sets the default display of numbers to be signed.
UNLOAD_ALL
Removes all loaded components.
UNLOAD x
Removes component named x.  If x contains spaces, it must be enclosed in quotes.
UNSIGNED 
Sets the default display of numbers to be unsigned.
WORD
Sets default data size to word (2 bytes).