Microproducts LLC
info@sxwiz.com
Home Page
Shopping Cart
Order
Downloads
Features
Frequently Asked
News Page
Benchmarks
Customer Support
Contact Us
Frequently Asked Questions

 
Q Isn't Basic slow?
A Not anymore.   Many Basic systems on the market use interpretive basic instructions which are fetched serially from an Eprom.   This means a vast number of SX clock cycles just to get the instruction which then has to be decoded and finally executed.   This not only has given Basic a bad rap, but defeats the purpose of using a micro like the SX in the first place.   SXWIZ produces native instruction assembly code which executes directly from the flash memory at one instruction per clock cycle.   The result is dramatic performance from a program that's easy to write. Checkout our Benchmarks

Q Do I Have to assemble my program in SXWIZ?
A Not if the emulator your using already has an assembler like SX-KEY or SX-DEVS.   SXWIZ produces the assembly source ready for assembly and download.   You do have the option of assembling wihin SXWIZ to examine the form of the compiled source, the location of data and code and also to produce a hex file, but only if you want to.   One click on compile and your ready for the SX-KEY or SX-DEVS assembler.   You can also write a program completely in assembly or use In-Line assembly within Basic, and our assembler is Parallax compatible.


Q How many variables can I have in my program?
A Typically about 96 bytes of data is available for the user's program.   This translates into 96 byte, 48 integer or 768 bit variables.   String variables require 1+max character length.   Data space varies with the complexity of expressions and the number of user functions and subroutines.

Q Where does SXWIZ store my files?
A SXWIZ provides a project list which gives each project a name and folder;   all files generated for that project are then stored in that folder.   There is no hunting for files;   both SXWIZ and the emulator open to your current project and filetype.

Q What emulators and micros does SXWIZ support?
A SXWIZ supports the SX18, SX20 and SX28 micros and the Parallax SX-KEY and SV Tehs
SX-DEVS emulators.   The output of the compiler is a standard assembly source using only native SX instructions and the Emulate and Emacro commands are fully user programmable.   SXWIZ is also capable of producing hex files with sx fuse data.   Emulators with application builders such as Kanda are not recommended.

Q Are all of the chip registers accessable?
A Yes and by using Basic directives. Also SLEEP and WATCHDOG functions.

Q How difficult is interrupt coding?
A The following is all the code required to set-up a timer interrupt to execute your interrupt code:

  TIMEBASE 8.5     'say 8.5us'

  TIMER ON

TIMERIPT:

  (your code in Basic)

  ENDIPT

RB interrupts are just as easy and you do have control of edge and enable functions in foreground with simple Basic directives.  SAVREG and RESREG commands are available to shelter foreground accumulators if necessary.

Q How does SXWIZ display errors in my program?
A Errors for syntax, ambiguous symbols, reserved words and about 150 other error conditions flag anything wrong with your program, display a message on the screen caption and identify where the error is in your program by highlighting it.

Q What is the Virtual Peripheral Library?
A Due to the ultra speed of the SX it is now possible to program peripherals in software that formerly required internal hardware in the cpu. Our library contains over 45 vp's at present and will be expanded in the future.   Interface to popular chips like ADC, DAC, Eprom, I/O expanders, shift registers and Dallas one wire into your program with a click.   Even interrupt and initialization code is inserted where it belongs without pasting or linking and you can invoke these devices with simple function calls.   Write your own vp's or copy ours and modify them to suit your requirement; they are all in Basic code and have all been tested on actual hardware.   We even supply a schematic.

Q What if some of my routines need the speed of assembly; interrupts for instance?
A First of all, with 15-20ns instruction times and a 60ns interrupt latency, you may find that this isn't as big of a problem as you might think.   You have the option, however, of switching back and forth from Basic to In-Line assembly using the ASM directive anywhere in your program.   We even have an ASMZ directive for placing custom interrupt code at the ORG $0 interrupt vector.   You can GOSUB an assembly routine from Basic and Call a Basic routine from assembly. In fact, using SXWIZ as an application builder for mundane tasks and switching to a mostly assembly program is a good application.