| 
                            Inferno #04
            
                         22 июня 2003          | 
        
             | 
    
Softinka - Resident System Extensions (RSX) in ZXVGS.

      Resident System Extensions
       Resident System Extentions
There are modules for ZXVGS, which increase its capabilities 
and does not depend on the hardware and system code. They are 
loaded in memory accessible only to the system and stay there 
in future. 
  Existing or under development RSX
Extensions syntax:
$ B. RZX - emulator TR-DOS - access to real faylam, low 
compatibility (already There is limited)
BA2.RZX - extends the syntax of BASIC -
compatibility with TOS A.2 (plans)
BD1.RZX - extends the syntax of BASIC -
compatibility with DISCiPLE / + D (in plans)
BI1.RZX - extends the syntax of BASIC -
compatibility with Microdrive (plans)
BJR.RZX - extends the syntax of BASIC -
compatibility with ELWRO 800 Junior (in the plan s)
BZX.RZX - extends the syntax of BASIC -
allows you to download and save disk
files (already available, does not change directory)
PRG.RZX - extends the syntax of BASIC -
compatibility with ELWRO 800 Junior (in the plan s)
Loading Data:
BLK.RZX - loads the files "*. BLK", like TAP.RZX (a)
SCL.RZX - emulator TR-DOS - reads the container file, the 
average compatibility (there are limited) TAP.RZX - loads files 
*. TAP (a) Z80.RZX - loads snapshots "*. Z80"
(A)
SNA.RZX - loads snapshots "*. SNA"
(In preparation)
SLT.RZX - loads snapshots "*. SLT" from intercepting calls to 
the tape (In preparation)
Driver disk:
DSK.RZX - a disk image?? (Plans)
FDI.RZX - emulator TR-DOS - access to the image, fully 
compatible (in plans) MDR.RZX - Emulator Interface 2 (plans)
MGT.RZX - disk images (plans)
TRD.RZX - emulator TR-DOS - to access the disk image, high 
compatibility (Plans)
PLUS3DOS.RZX - allows you to use disks with titles PLUS3DOS 
(plans) TRDOS.RZX - emulator TR-DOS - uses
current drive (in the plans)
Loaders graphics:
BMP.RZX - lets you download and burn
BMP-picture (there is very limited)
GIF.RZX - lets you download and burn
GIF-image (the plans)
GRP.RZX - lets you download and burn
GRP-picture (plans)
IFF.RZX - lets you download and burn
ILBM-picture (plans)
JPG.RZX - lets you download and burn
JPG-image (the plans)
PCX.RZX - lets you download and burn
PCX-images (the plans)
Printer Drivers:
DESKJET.RZX - install the printer HP Desk
Jet (plans)
EPSONFX.RZX - installs a dot matrix printer with 9 pins (there 
is limited) GP500AS.RZX - installing a printer
Seikosha GP500AS (plans)
LASERJET.RZX - installing a printer
HP LaserJet (plans)
PRINTER.RZX - the current driver to use
Printer (created by the user of the other)
Others:
51X24.RZX - screen driver for 51 column
(Plans)
SAMTAPE.RZX - (SAM only) lets you download from the tape 
through the code SAMROM (Plans)
ZXVGSVBM.RZX - Virtual Manager
banks (plans)
-----------------------------------------( Simplified 
Backus-Knauer): x, y, z. .. represent numeric expressions
x $, y $ ... represent alphanumeric
          expression
c is any character
d predstvalyaet one digit (0 .. 9)
b represents any command
          BASIC
[A] means 'A can be omitted'
{A | B | C} means 'A or B or C'
[A. ..] means' A can be omitted
          or repeated many times'
BASIC syntax definition
(Simplified form of the Backus-Knauer):
mark sense
@ One letter
v, v1, v2 ... the names of numeric variables
x, y, z numeric expression
          (Actual)
i, j, k numeric expression
          (Rounded to the nearest whole)
e numeric or string expression
          of
f string expression
[] An optional part
---------------------------------------- 51X24.RZX - Driver 
character screen 
    $ B. RZX - Emulator HoBeta TR-DOS
Fatal error:
$ B. RZX: Unknown function # nn
$ B. RZX: Unknown call to # nnnn
$ B. RZX: Access to outside file
$ B. RZX: Directory not avaiable
RSX can not run this TR-DOS program. Try to copy it into the 
container "*. SCL" or the disk image "*. TRD" or "*. FDI".
            BA2.RZX - Emulator
         Timex Operating System
     BD1.RZX - Syntax DISCiPLE / + D
This RSX is now non-existent.
In the beginning, when the binding does not exist
"D1:" tied to the current path. Others
CDs require binding (assign) before first use.
 * CAT 1 Shows directory.
 * CAT 1! Shows abbreviated catalog.
 * SAVE D1 "filename" Save the file.
 * VERIFY D1 "filename" Checks that the entry was made.
 * LOAD D1 "filename" Load a file (except for snapshots).
 * LOAD D1 "filename" SCREEN $ Loads
display file.
 * ERASE D1 "file" TO "new file" Rename the file.
 * ERASE D1 "filename" Deletes a file
 * SAVE D1 "file" TO D2 Copies file
Disc 1 of 2
 * OPEN # n; D1 "filename" IN Open file
read a stream n.
 * OPEN # n; D1 "filename" OUT Opens file
to write to the stream n.
 * CLOSE # * n Closes the file stream n.
 * CLOSE # * Closes all open files.
 * MOVE D1 "filename" TO # n Reads the file;
displays a stream n.
 * MOVE D1 "fileA" TO D1 "fileB" Reads
file, writes it in the 2 nd file.
 * CLEAR # Clears all open streams and
channels.
 * CLS # Clears the screen and field attributes.
 * LLIST line-no Forwards program listing to the printer.
 * LPRINT variable-list print to the printer.
 * SAVE SCREEN $ 1 generates 32-column screen dump.
 * SAVE SCREEN $ 2 is a dump of the screen
large size.
 * LPRINT TAB n; Tab to position n in
current line.
 * LPRINT AT n1, n2; Scrolls printer
with n1 rows down, tab to n2 position.
 * SAVE ... TO, ERASE, CAT can be used with * and? as filters
(Wildcards).
SNAPSHOT BUTTON - temporarily stops
program and allows you to choose from:
  1. - 32-column screen dump;
  2. - Dump screen large size;
  3. - Record screen;
  4. - Write 48K snapshot;
  5. - Record 128K snapshot;
Key X exits and returns a snapshot of the program.
It does not work as the original:
LOAD D1 "filename" S Loads 48K snapshot.
-Loads through the RSX
LOAD D1 "filename" K Loads 128K snapshot.
-Loads through the RSX
LOAD Pn downloads.
-Uses a file selector to select
program, the number is ignored.
RUN
-Brings up a menu ZXVGS.
Further is not supported because of the other
structure ZXGVS:
 * FORMAT D1 Formats the disc in the unit 1.
 * FORMAT D1 TO D2 format the disc 1;
copies of 2 to 1.
 * SAVE D1 "filename" X, Address Stores
510-byte runs (vb?) File.
 * LOAD D1 "filename" X executable file
RAM PLUS D.
 * LOAD @ D, T, S, Address read selected
sector in the memory.
 * SAVE @ D, T, S, Address Writes the specified sector on the 
disk. 
     BI1.RZX - Emulator Interface 1
  BJR.RZX - Emulator Elwro 800 Junior
        BLK.RZX - Ribbon Simulation
See {TAP.RZX}. Differs only by the file extension.
       BMP.RZX - Driver Image
      BZX.RZX - Disc syntax
               in BASIC
"BZX.RZX" - a simple extension of the Basic
provides several new instructions.
 * LOAD * f
 * LOAD * f CODE [i] [, j]
 * LOAD * f DATA[$]()
 * LOAD * f SCREEN $
 * MERGE * f
 * SAVE * f [LINE i]
 * SAVE * f CODE i, j
 * SAVE * f DATA[$]()
 * SAVE * f SCREEN $
 * VERIFY * f
 * VERIFY * f CODE [i] [, j]
 * VERIFY * f DATA[$]()
 * VERIFY * f SCREEN $
Their purpose is similar to tape ekvivalentam.Otlichie that the 
length of their name should be in the range 1 .. 127. An 
asterisk "*" must be placed immediately after keyword. If you 
do not specify the file extension, it will be added 
automatically:  * ". BZX" for BASIC files
 * ". DZX" for arrays of both types,
 * ". CZX" for the file CODE,
 * ". SCR" files SCREEN $.
(In the next version.) Team "LOAD * f"
has a special use. The name
directory, it changes the current directory
(As in PLUS3DOS, but there is only one default for both - LOAD 
and SAVE). 
           DESKJET.RZX - Driver
           inkjet printer
     DSK.RZX - Driver disk image
         EPSONFX.RZX - Driver
          dot-matrix printer
    FDI.RZX - Driver images TR-DOS
       GIF.RZX - Driver Image
         GP500AS.RZX - Driver
          dot-matrix printer
       GRP.RZX - Driver Image
       IFF.RZX - Driver Image
       JPG.RZX - Driver Image
         LASERJET.RZX - Driver
           Laser Printer
        MDR.RZX - Driver Image
           Ribbon Interface 1
     MGT.RZX - Driver disk image
       PCX.RZX - Driver Image
 PLUS3DOS.RZX - Driver CD PLUS3DOS
  PRG.RZX - Emulator Elwro 800 Junior
 PRINTER.RZX - The current printer driver
This name is used in the system ZXVGS
first call to the printer features # F0 .. # F6.
This RSX is generated from the existing
printer driver (for example, EPSONFX.RZX)
renaming it into PRINTER.RZX.
   SAMTAPE.RZX - Belt loader
             for Sam Coupe '
        TAP.RZX - Ribbon Simulation
"TAP.RZX" allows you to upload "tape
files, the file "*. TAP", the selected function # AF.
To download the file "*. TAP", select the
of SHELL.V00. After the reset, enter:
LOAD ""
or you can enter:
PRINT USR 8
SHELL.V00 and download from another program,
which in turn can read from the tape (ARTSTDIO.V00, ZEBRA.V00, 
COPYNEW1.V00) and download the contents of the file "*. TAP" in
her.
To read data from a file "*. TAP", ZX Rom
should be zapatcheno to call # 7E hook
code. The contents of IX should be moved
in HL, AF (which subsequently moved to the AF ') - in BC (bit 6 
in C can be set to load as the content type byte chunk (chunk). 
The number of loaded bytes placed in the DE (for numbers 
greater than the length of the portion of data is downloaded as 
a checksum, and returns Bug # 01).
The standard error of RST # 08 is generated,
when files are "*. TAP" are not supported (as
in the absence of ZXVGS). Otherwise
A return error information:
# 00 - piece of data is loaded correctly
# 01 - failed to read ("*. TAP" file not found or was pushed 
), 
# 02 - invalid data type.
The number of bytes downloaded is in BC (to be added to IX), 
the number of bytes not loaded - in the DE, the last loaded 
bytes - in L, and the computed checksum - on H. 
Attention. Do not use # 7E hook code in
programs! It can only be used in the patch ZX Rom.
! Temporarily in L also returns "computed checksum".
# 7E TAPLOAD
(DE = length, HL = address, B = type, C = flags)
(DEHL = standard, BC = readed, A = error)
Patch ZX ROM (48kB model) for "TAP.RZX".
Successfully 21/03/2002. Consider adding these changes in the 
PROM and EPROM without effacing. Put it in ROM:
      ORG # 0025
# 0025 JP # 3881; # C3, # 81, # 38
                      And instead of # FF, # FF, # FF
      ORG # 056C
# 056C CALL # 0025; # CD, # 25, # 00
                      And instead of # CD, # E7, # 05
      ORG # 3881; here Region # FF-ca
tapld LD HL, (# 5C68)
      PUSH HL
      LD HL, (# 5C65)
      PUSH HL
      LD HL, (# 5C5F)
      PUSH HL
      LD H, (IY +0)
      LD L, C; added 12/08/1999
      PUSH HL
      LD HL, (# 5C3D)
      PUSH HL
      LD HL, taperr; jump if
                      ; No ZXVGS
      PUSH HL
      LD (# 5C3D), SP
      PUSH IX
      POP HL
      EX AF, AF '; here flags and bytes
                      ; Data type
      PUSH AF
      POP BC
      EX AF, AF '; return to the place
      RST # 08
      DEFB # 7E; download DE B
                      ; At HL
      ADD IX, BC; add to the number IX
                     ; Bytes loaded
      POP BC; remove "taperr"
      POP BC; lift (# 5C3D)
      LD (# 5C3D), BC; it was here and
            ; Earlier, the rest is not altered
      POP BC; remove (IY +0), and C
      POP BC; lift (# 5C5F)
      POP BC; lift (# 5C65)
      POP BC; lift (# 5C68)
      POP BC; remove the return address
                   ; A belt loader
      LD BC, # 0022; imitation BC after
             ; Loading ... need to improve!
      CP # 01; Cy = 0 - error
      RET NC; Z = 1 - loading error,
                  ; Z = 0 - wrong chunk type
      LD A, H
      CP # 01
      RET; if ZXVGS (or file "TAP.RZX"
          ; Not found, it calls standard
          ; Tny error handler
taperr POP HL
      LD (# 5C3D), HL; it all changed
      POP HL
      LD (IY +0), H
      LD C, L; added 12/08/1999
      POP HL
      LD (# 5C5F), HL
      POP HL
      LD (# 5C65), HL
      POP HL
      LD (# 5C68), HL
      LD B, # 00; added 03/21/2002
      JP # 05E7
; LD-EDGE-1 - standard tape loading
; Continues
           TRD.RZX - Driver
          disk image TR-DOS
    TRDOS.RZX - Driver Disc TR-DOS
        TZX.RZX - Ribbon Simulation
  SCL.RZX - Emulator Container TR-DOS
Fatal error:
SCL.RZX: Unknown function # nn
SCL.RZX: Unknown call to # nnnn
RSX can not get this TR-DOS program. Try to copy it to a file
"*. $ B" or disk images: "*. TRD" or
"*. FDI".
     SLT.RZX - Boot snapshots
     SNA.RZX - Boot snapshots
     Z80.RZX - Boot snapshots
To download a snapshot "*. Z80" just select it from SHELL.V00. 
Downloading takes some time, since the file is packed.
White lines on the Border and buzzing sound means that the 
decompression process. After proper loading main menu appears, 
which provides for the use of Options pOke. Click Continue to 
start snapshot.
Not all the snapshots available for download
Z80.RZX. Remember that this format is intended for emulators, 
but not for real equipment. No special hardware is possible
problem with preemption. ZXVGS is here
limit - trap mode (IM) is chosen based on the contents of the 
register I. For I = # 3F chosen IM 1, for all other values - 
IM 2. However, the snapshot mozher have included IM mode 1 for
I <> # 3F! And in this case establishes ZXVGS IM 2.
Z80.RZX opens cans ZX128 and AY-3-891X,
if possible.
Fatal error:
Z80.RZX: Wrong file structure
- RSX can not recognize the contents of the file
Z80.RZX: No I'face a support
Z80.RZX: SamRam not available
- RSX can not run snapshots with support for additional 
hardware. Z80.RZX: ZX128 banks required
Your piece of iron can not switch the memory banks through the 
port # 7FFD, which requires snapshot.
Z80.RZX: AY-3-8910 / 2 not found
Snapshot requires a sound coprocessor on ports # BFFD and # 
FFFD, and you have do not have or disabled.
        ZXVGSVBM.RZX - Manager
           Virtual Banks
-----------------------------------------( C) 2002-07-03 18 : 
59:04 Jarek Adamski {Zxvgs@yarek.com}, {http://zxvgs.yarek.com}
 
Other articles:
        Similar articles:
                
            
            
            
            
    
    В этот день...   4 November