+1
On Mon, Mar 17, 2014 at 6:48 PM, James Cobb <[email protected]> wrote: > I like it > > > > Jim > > > > *From:* [email protected] [mailto:[email protected]] *On > Behalf Of *nbreeden > *Sent:* Monday, March 17, 2014 6:33 PM > *To:* [email protected] > *Subject:* [N8VEM-S100:2772] BASIC in ROM - Any Interest? > > > > I'm wondering if there is any interest in having BASIC in ROM allowing > turn-key BASIC programming; if so then please read on. > > > > One of my design goals was for my S-100 projects was to get BASIC in ROM > running. I wanted to do this for several reasons: > > - It takes me back to the days of my Radio Shack Model I with BASIC in ROM > > - I find BASIC really useful for debugging boards; PEEK, POKE, INP, OUT > and WAIT are really useful > > - BASIC gives me a turn key solution; turn the power on and I have the > BASIC prompt > > - For quick and dirty code I find BASIC easier to use / manage > > > > The chosen BASIC: > > I looked at the source for several BASIC interpreters and finally > settled on using the NASCOM BASIC that had been ported to the "Space Time > Productions" SBC. Joel Owens (http://www.joelowens.org/z80/index.html) > had ported it, converted it to Console I/O, documented it and provided > clean commented source on his web site. Joel gave me the go ahead to use > the source for this project. > > > > What I did: > > - One of my design goals was to use common tools to manage the code; > NOTEPAD++.EXE as the editor and TASM as the assembler. I wanted to code to > be compiled on a PC then using a USB EPROM programmer to program the EPROM. > > - I formatted the code so it looks clean using NOTEPAD++.EXE > > - I added code to allow it to use 16550 UARTS; this was tested using the > UART on the prototype S-100 Utility (MSX2) Board. > > - I added code to allow it to use the USB serial adapter on the S-100 > Serial IO Version 02 board. > > - The original code had BASIC at the bottom of MEMORY; I wanted it in > high MEMORY instead so that the low memory areas are RAM based to allow CPM > to run; I made edits to move it to the $E000-$FFFF address space. > > - I modified the CLS command to use ANSI escape sequences to home the > cursor and clear the screen. > > - I added a HOME command to use ANSI escape sequences to home the cursor. > > > > Revisions: > > There are two versions (source branches) > > - One meant to run in LOW memory targeting the EPROM socket on the S-100 > Utility (MSX2) card (16550 UART). > > - One meant to run in HIGH memory on my S-100 Z-80 CPU V2 board - I had > to make a minor change on the board to allow a full 8K of EPROM to be used. > > > > BASIC's Features include: > > - Floating point maths with a full set of functions > > - For, Next, Step, Goto, Gosub, Return, Stop, On, Wait, End > > - PEEK, POKE, INP, OUT, HEX > > - String functions MID$, RIGHT$, LEFT$, LEN, STR$, VAL, ASC, CHR$ > > - USR function > > - AND OR NOT > > - DATA READ RESTORE INPUT > > - UPPER and LOWER case > > - Fully tokenized BASIC > > - Auto detection of MEMORY size > > > > Games: > > - I've updated STAR TREK to run > > - I've updated HUNT THE WUMPUS to run > > > > Still to do: > > - Fully test it > > - Add drivers for other Serial IO devices such as the Z-80 DART > > - Clean up the build environment - currently it's just a BAT file > > - Clean up the source so there is only one source code file that used > #DEFINES to control how it's compiled > > - Update the BASIC documentation > > - Have more fun > > > > -Neil > > -- > You received this message because you are subscribed to the Google Groups > "N8VEM-S100" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. > > -- > You received this message because you are subscribed to the Google Groups > "N8VEM-S100" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "N8VEM-S100" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
