11/17/2005

 

ESX-28 Frequently Asked Questions for ESX28V2

 

1.      Why was this SX-28 emulator written?
This emulator was started as a proof-of-concept emulator for proving out a code-generation tool for use on another, larger emulator project.  When it became clear that this SX-28 emulator was useful, the author decided to release it as open source.

2.      How does this emulator compare with SXSim by Guenther Daubach?
Guenther's tool has a great GUI, runs on Windows only and the source code is not generally available.  ESX-28 is open source (expandable), runs under Windows and Linux, really does not have a GUI and is C-based.

3.      What was the emulator built with?
The basic emulator was written on Windows with Microsoft VC 6.0.  The base emulator code was also ported to Linux GCC ("gcc version 3.3 20030226 (prerelease) (SuSE Linux)").

4.      Are all the SX-28 instructions supported?
All of the Ubicom-public instructions are supported -- with some limitations.  The main limitations are: (1) the RB interrupts are not supported, and (2) the special I/O register options for voltage settings, etc. are not supported.   Support is provided for two-instruction skip behavior in SB, SNB and other skip instructions when the first skipped-instruction is a PAGE instruction.

5.      Are all the assembler DEVICE OTPIONS supported?
No.  The output from assembler is processed and the non-comment DEVICE lines are parsed.  The "CARRYX" and device-type setting are processed.  This version of the emulator uses BANK8, SX28, OPTIONX/STACKX and TURBO as fixed settings.

6.      See the comments at the start of the pdl_rdr.cpp routine for a list of the limits in this assembler listing reader routine.  In general, straight-forward assembler programs are correctly processed and read.  Programs with macros and/or with conditional assembly constructs may need to be modified.  SXB programs are supported.

7.      Has this emulator been seriously tested?
Yes.  It runs Sx_arith.src correctly and the majority of the diagnostic routines used to test it are in the "diags" directory.  It has run correctly run all the of the SXB programs tried.  Having said this, it undoubtedly still has bugs.

8.      What features have been purposely omitted from this version of the emulator?

8.1.   Watchdog and brownout features.

8.2.   Interrupt handling on RB (the RTCC interrupt and RTCC pin are supported).

8.3.   The SLEEP instruction functions more like a PAUSE instruction.

9.      How can I see a dump of the SX program loaded by the esx28v2 program?
>esx28v2 -d name_of_program_file.lst

10.  Will this emulator be expanded to cover the SX-48?  Not at this time.

11.  Has the emulator been measured for performance?  On a 2.2 GHz PC, it appears to run at a speed near 4 MIPS.  The more I/O callback functions that are used, the slower it will run.

12.  Has the emulator been optimized for performance?  Not yet.

13.  Will the author accept suggestions for this emulator?  Yes, of course.

14.  What do I do if I find a bug?  Contact the author, especially if you have a fix for the bug.

15.  Will "bug fix" releases be produced?  The author expects to produce maintenance releases from time to time.

16.  How do I contact the author?  Send an email to: esxemu@aol.com with ESX-28 in the title line.

17.  Do you really use AOL?!?  No!  This is a "public" email address used to keep junk email away from other email accounts.

1