

         |

Graphic
emulators
Windows
Unix (X11, MAC OS X, Linux)
Introduction
It is no
necessarily evident to have the card physically
to implement the real-time FORTH kernel presented in this site.
Most of the personal computers (MAC or PC) benefit from a very
important power of calculation, it is interesting to use it for
emulate the other machines without too much loss of performance.
The firs
emulator of the FORTH core was developed by a
virtuoso of the PC world, FBROTON, who realized a program extremely
complete and easy to install under Windows. It has very acceptable
performances when it is installed on a PC with Pentium III processor.
Furthermore, machine man interface is very simple of use wha
makes it accessible to every person not too much exloss in data
processing.
Problem with this
emulator, it is that it is only operational
on PC under Windows, what is not too annoying knowing that i
is the operating system which is installed on most of the existing
computers. On the other hand, for a person as I for example, who
have a MAC, it is necessary to use a PC emulator to use this emulator.
This adds a software layer which degrades enormously and so very
unpleasantly performances.
MAC world has
just evolved considerably with the new operating
system MAC OS X integrating a kernel UNIX. This makes it compatible
with workstations SUN and even with PC although they are equipped
with the operating system LINUX. As APPLE had the brilliant idea
to supply the development software packages in his new operating
system, I was able to realize an emulator which, after light adaptation
of the compilation script, showed itself operational on a SUN
station and even on a PC under LINUX.
This was the
first step of my emulator which was operational
in terminal mode. For the graphic interface, a solution UNIX exists:
OpenGL (http://www.opengl.org/).
This standard allows to have very powerful graphic routines on
any UNIX machine as an extension of the C language. What allowed
me to enrich my emulator of a emulation of the interface VGA integrated
into the FPGA of the FORTH core.
Emulator under
UNIX is now noisy by using OpenAL ( http://www.openal.org/ ).
Windows
Discover the
magnificent emulator of the FORTH core for PC under Windows
realized by FBROTON. You will find a complete documentation which
will allow you to use in best all the offered possibilities.
Unix (X11, MAC OS X, Linux)
Here is finally a
version of the emulator of the FORTH core
for the world UNIX. The specific additional registers in
emulator are the same that those of FBROTON's emulator to preserve
a certain compatibility.
WARNING : These software
packages are free of right and can be on no account sold.
Operating
system
/Computer
|
Software
|
Comments
|
OS X/MAC
|
CoeurFORTH.dmg |
MAC OS X application version 5.00.
(Universal Binary for PPC and X86 from MAC OS 10.4).
Referenced in 
|
LINUX/PC
|
CoeurFORTH.zip |
Version 5.00.
It is not mandatory to install Linux on your PC. You have to download
the CDROM KNOPPIX or UBUNTU, decompress the file, launch KNOPPIX, go to the directory "CoeurFORTH"
then launch "CoeurFORTH" in a terminal.
Tested with CD UBUNTU 10.10.
|
Here is a graphic
representation of what one obtains under
MAC OS X:
Description of
the various simulated interfaces:
Window |
Associated extension registers |
Control/Terminal
|
Not applicable
This window contains a VT100 terminal and a control part allowing FPGA configuration and emulator functions access:
- choice between mulu or addc instruction a
the initialization,
- choice between 16 or 32 bits core,
- choice between internal ROM or external FLASH at the initialization,
- initialization push button (RESET),
- adjustment of the core performances,
- adjustment of the graphic screen resolution,
- adjustment of the sound output level,
- display of the core performances,
- display of the graphic performances,
- display of the sound level,
- indication of the real time respect,
- display of the occupancy rate of the host processor,
- access to the other emulator functions.
|
Discrete inputs outputs
|
272 (0x110) PORT_A
273 (0x111) PORT_B
write: value[15..0]
read: (value&input)[15..0]
lit indicator if value&input=1
See the corresponding technical page (with a video). |
Analogical input output
|
274 (0x112) sampling
275 (0x113) analogical input output
if writing sampling = 0
-direct analogical input output
- reading sampling = 1
else
-2048 samples 10 us (1) to 8 samples 2,55 ms (255) FIFO
- reading sampling = available samples number
Analog range value must be -128 to +127
See the corresponding technical page (with a video). |
Step by step engines
|
276 (0x114):
bits[15..7] = 0xFF8 if angle 0 (in top side)
0x000 otherwise (read only) bit[6] = 1 to drive the index
(read/write)
bit[5] = 1 to drive the big hand
(read/write)
bit[4] = 1 to drive the little hand (read/write)
bits[3..0] = phase4,phase3,phase2,phase1
(read/write)
1 tour = 120 steps (3°/step)
See the corresponding technical page (with a video). |
bar graph
|
277
(0x115):
write: value[15..0]
bit 0 is corresponding to the left green indicator
bit 15 is corresponding to the right red indicator
lit indicator if value=1
See the corresponding technical page (with a video). |
Little keyboard
|
278 (0x116) read only:
bits[15..4] = 0xFFF if key down
0x000 otherwise
bits[3,2] = line number (0 in top side)
bits[1,0] = row number (0 in left side)
bits[3..0] are memorized when key is released
See the corresponding technical page (with a video). |
7 segments displays
|
280 (0x118) display 0 (in left side)
281 (0x119) display 1
...
287 (0x11F) display 7 (in right side)
read/write:
bits[15..8] = 0x00
bits[7..0] = a,b,c,d,e,f,g,dp
lit segment if 1
See the corresponding technical page (with a video). |
Matric displays

|
290 (0x122) column 0 (in left side)
291 (0x123) column 1
...
299 (0x12B) column 9 (in right side)
read/write:
bits[15..8] = 0x00
bits[7..0] = 0, dot in bottom side, ..., dot in top side
lit dot if 1
See the corresponding technical page (with a video). |
UART connections

|
257 (0x101) UARTA_BAUD
258 !0x102) UARTA_CTRL
259 (0x102) UARTA_DATA
260 (0x103) UARTB_BAUD
261 !0x104) UARTB_CTRL
262 (0x105) UARTB_DATA
each UART can be connected to the TERMINAL of the control window, one of the 7
SOCKETs towards another emulator or to a true connection RS232 of the
host-computer |
CAN interfaces

|
Up to 8 emulators could be connected on 2 CAN buses able to be linked together.
See the corresponding technical page (with a video).
|
|
 |
 |