Hi there folks :)
Work is currently in progress on a new interface for the SAM. It's a
ROM podule that slots in the back, (ROM size between 128 and 512k --
undecided as of yet), with 32k or 128k of battery back static RAM
(you decide how much you want to buy -- 128k is 6 pounds extra I
think).
Control ports:
Currently, ports 0x??DE and 0x??DF (&xxDE, &xxDF) are being used to
control the paging.
Different ROM/RAM configurations are possible, also you may have any
combination of ROM/RAM pages in place of the two standard ROM pages.
Software on the board:
The board is designed to be a programmer's development toolkit.
Currently decided for it are the following:
COMET source compatible ASSEMBLER:
Also features the following things that COMET doesn't:
Convert ASCII to SOURCE -- for PC files etc etc
Convert SOURCE to ASCII -- save out source in a text file
Conditional assembly -- source that is only assembled if a
condition such as symbol contains a specific value, or symbol is/is
not defined.
Macros -- Routines like subroutines, but which are
not CALLed -- they are put in with the source itself on assembly.
Repeat loops -- Useful for unlooping code for speed.
Replaces the need to put 128 LDI's (or whatever) in your code with a
simple
On assembly, MACLxxx labels are replaced with MACP00O0000, which are
the page and offset which that label addresses.
REPEAT 128
LDI
REPEND
Note: Nested REPEATs , IFs and MACROs are not allowed; however, a
MACRO may contain an IF or a REPEAT _and may be called_ from within
an IF or a REPEAT. If necessary, this will be made clearer later.
Ie:
REPEAT 100
REPEAT 20 -- this is invalid
IF symbol EXISTS
IF symbol NOT EXISTS -- this is invalid
TEXT.TO.SCREEN: MACDEF x,y,z --- this is the macro TEXT.TO.SCREEN
REPEAT 10
MACL1:
LD HL,x
LD (HL),y
OR z
REPEND
MACEND
REPEAT 20 -- this is valid
TEXT.TO.SCREEN 1,2,3
REPEND
Other features:
We are hoping to get Simon Owen to rewrite his excellent TurboMON
program for the Programmer's Development Rom (PDR). This will be the
Monitor/Disassembler suite for the program.
Disk Toolkit:
This will allow as well as repair etc, formatting of discs, MSDOS
file read/writing and a plethora of other file management routines.
System Variables Editor:
Designed to allow monitoring/modification of the Systems variables
(probably will include MASTERBASIC variables; definitely will have
MASTERDOS variables)
System Environment Editor: Switch paging on or off, allocate space,
edit the current palette data, change the font (or design your own?),
modify/reset system vectors, alter DOS configuration, examine RAM
Disks, Memory maps..).
Graphics Finder:
Allows you to scan through memory to find graphics data, sprites,
fonts, etc.
Online Technical Manual:
Includes diagrams of pinouts, memory maps, technical documentation,
tricks, tactics. Documentation of lots of SAM stuff included, such as
the clock controller chip, the Meg, the Gig (coming soon!), the
Accelerator board's principles, etc etc... We'll put in as much as we
can fit in...
Systems Information:
Evaluates the hardware plugged into your system and returns a list of
what you've got.
Also, this all comes in a GUI style package and boots up on RESET.
You can drop back into BASIC, you can call the ROM back up again from
BASIC by pressing [SHIFT]+[SYMBOL]+[EDIT]. RESET key combination (ala
ESI -- SYMBOL + CNTRL + DELETE -and- CAPS + CNTRL + EDIT are both
also included -- will only work from BASIC programs, but is part of
the new keyscan routine).
Options are available to:
Load SAMDOS v2.2 from ROM
Reset SAM and return to ORIGINAL ROM *note* RESET button will need to
be pressed to return to the new ROM, as the new ROM is locked out
with this option.
Reset SAM (doesn't return to new ROM, but clears the SAM's memory.
Warning is made if this will delete SOURCE CODE from memory).
With the 128k configuration, as much source as possible will be kept
in the ROM board, although this will be up to a maximum of approx.
96k. It *is* possible to, for example, mark areas of memory as used
or "not present" and use them to create source code in (this is
especially useful to work with DOS routines; mark a MEG missing, and
then work with RAMDRIVES etc etc... this gives a full megabyte of
source to play with!).
Oh yes, and also, file system is fully MSDOS 720k disc compatible!!!!
Estimated cost: 60 pounds. May be lower if can be arranged.
Si Cooke
Suggestions please?