Polski/td> English Русский
Home Вкратце RSXы Файли Функции Версии Релизы Users Download
CP/M MEMDISK IDEDOS

Резидентные Расширений Системы

Существуют модули для ZXVGS, которые увеличивают его возможности и при этом не зависят от железа и системного кода. Они загружаются в память, доступную только системе и пребывают там в дальнейшем.
Существующие или разрабатываемые RSXы
тип name description state
расширения
синтаксиса
$B.RZX эмулятор TR-DOS - доступ к реальным фaйлам, низкая совместимость уже имеется,
ограничено
BA2.RZX расширяет  синтаксис  Бейсика - совместимость с TOS A.2 в планах
BD1.RZX расширяет  синтаксис  Бейсика - совместимость с DISCiPLE/+D
BI1.RZX расширяет  синтаксис  Бейсика - совместимость с Microdrive
BJR.RZX расширяет  синтаксис  Бейсика - совместимость с ELWRO 800 Junior
BZX.RZX расширяет  синтаксис  Бейсика - позволяет  загружать и сохранять дисковые файлы имеется
PRG.RZX расширяет  синтаксис  Бейсика - совместимость с ELWRO 800 Junior в планах
загрузка
данных
BLK.RZX загружает файлы "*.BLK", наподобие TAP.RZX имеется
SCL.RZX эмулятор TR-DOS - читает контейнер файлов, средняя совместимость имеется,
ограничено
TAP.RZX загружает файлы "*.TAP" имеется
Z80.RZX загружает снапшоты "*.Z80" имеется
SNA.RZX загружает снапшоты "*.SNA" разрабатывается
SLT.RZX загружает снапшоты "*.SLT" с перехватами обращения к ленте разрабатывается
драйверы
диска
DSK.RZX образ диска ??? в планах
FDI.RZX эмулятор TR-DOS - доступ к образу диска, полная совместимость
MDR.RZX эмулятор Interface 2
MGT.RZX образы диска
TRD.RZX эмулятор TR-DOS - доступ к образу диска, высокая совместимость
PLUS3DOS.RZX позволяет использовать диски с заголовками PLUS3DOS
TRDOS.RZX эмулятор  TR-DOS  - использует настоящий дисковод
загрузчики
графики
BMP.RZX позволяет загружать и записывать BMP-картинки имеется,
очень
ограничено
GIF.RZX позволяет загружать и записывать GIF-картинки в планах
GRP.RZX позволяет загружать и записывать GRP-картинки
IFF.RZX позволяет загружать и записывать ILBM-картинки
JPG.RZX позволяет загружать и записывать JPG-картинки
PCX.RZX позволяет загружать и записывать PCX-картинки
драйверы
принтера
DESKJET.RZX инсталлирует принтер HP DeskJet в планах
EPSONFX.RZX инсталлирует матричный принтер с 9 иголками имеется,
ограничено
GP500AS.RZX инсталлирует принтер GP500AS в планах
LASERJET.RZX инсталлирует принтер HP LaserJet
PRINTER.RZX текущий используемый драйвер принтера создаётся
пользователем
из других
прочее 51X24.RZX драйвер экрана на 51 колонку в планах
SAMTAPE.RZX (только SAM) позволяет загружать с кассеты через код SAMROM
ZXVGSVBM.RZX менеджер виртуальных банков
Определения синтаксиса Бейсика
(упрощённая форма Бэкуса-Науэра)
знак смысл
@ одна буква
v, v1, v2... имена числовых переменных
x, y, z... числовое выражение (действительное)
x$, y$... алфавитно-цифровые выражения
i, j, k числовое выражение (округлённое до целого)
b представляет любую команду
c представляет любой символ
d предстваляет одну цифру (0..9)
e числовое или строковое выражение
f строковое выражение
[A] означает 'A может быть опущен'
{A|B|C} означает 'A или B или C'
[A...] означает 'A может быть опущен или повторён много раз'


51X24.RZX - Драйвер символьного экрана


$B.RZX - Эмулятор HoBeta TR-DOS

Фатальные ошибки

$B.RZX: Unknown function #nn
$B.RZX: Unknown call to #nnnn
$B.RZX: Access to outside file
$B.RZX: Directory not avaiable

RSX  не в силах запустить эту TR-DOS программу. Попытайтесь скопировать её в контейнер "*.SCL" или в образ диска "*.TRD" или "*.FDI".


BA2.RZX - Эмулятор Timex Operating System


BD1.RZX - Синтаксис DISCiPLE/+D

Этот RSX сейчас не существует.

В  начале, когда  привязка  не существует, "D1:"  привязан к текущему пути. Остальные диски требуют привязки (assign) перед первым использованием.

SNAPSHOT BUTTON - временно останавливает программу и позволяет выбрать:
  1. - 32-колоночный дамп экрана;
  2. - Дамп экрана большого размера;
  3. - Запись экрана;
  4. - Запись 48K снапшота;
  5. - Запись 128K снапшота;
Клавиша X выходит из режима снапшота и возвращает в программу.

Это работает не так, как в оригинале.

LOAD D1"filename"S Загружает 48K снапшот.
-загружает через RSX.

LOAD D1"filename"K Загружает 128K снапшот.
-загружает через RSX.

LOAD Pn Загружает программу.
-использует селектор файлов для выбора программы; число игнорируется.

RUN

-вызывает меню ZXVGS.

Дальнейшее не поддерживается из-за другой структуры ZXGVS:


BI1.RZX - Эмулятор Interface 1


BJR.RZX - Эмулятор Elwro 800 Junior


BLK.RZX - Имитация ленты

См.  TAP.RZX. Отличается только расширение файла. No more included in releases. If you have "*.BLK" files, rename them to "*.TAP" or duplicate the TAP.RZX to BLK.RZX.

BMP.RZX - Драйвер картинок

Loads only monochrome pictures with 256в192 size.

BZX.RZX - Дисковый синтаксис в Бейсике

BZX.RZX  - простое расширение Бейсика, предоставляющее несколько новых инструкций. Их назначение аналогично магнитофонным эквивалентам. Отличие в том,что их длина имени должна быть в диапазоне 1..127. Звёздочка "*" должна быть помещена сразу после ключевого слова. Если не указано расширения файла, оно будет добавлено автоматически: Команда LOAD *f имеет специальное использование. С именем директории она меняет текущую директорию
(как в PLUS3DOS, но здесь только одно умолчание для обоих - LOAD и SAVE). Remeber that directory name always ends with "/" or ":".

The RSX generates following BASIC errors:


DESKJET.RZX - Драйвер струйного принтера


DSK.RZX - Драйвер образа диска


EPSONFX.RZX - Драйвер матричного принтера


FDI.RZX - Драйвер образов TR-DOS


GIF.RZX - Драйвер картинок


GP500AS.RZX - Драйвер матричного принтера


GRP.RZX - Драйвер картинок


IFF.RZX - Драйвер картинок


JPG.RZX - Драйвер картинок


LASERJET.RZX - Драйвер лазерного принтера


MDR.RZX - Драйвер образа ленты Interface 1


MGT.RZX - Драйвер образа диска


PCX.RZX - Драйвер картинок


PLUS3DOS.RZX - Драйвер диска PLUS3DOS


PRG.RZX - Эмулятор Elwro 800 Junior


PRINTER.RZX - Текущий драйвер принтера

Это имя используется системой ZXVGS при первом вызове функций принтера #F0..#F6. Этот RSX генерируется из существующего драйвера принтера (например, EPSONFX.RZX) переименованием его в PRINTER.RZX.

SAMTAPE.RZX - Ленточный загрузчик для Sam Coupe


TAP.RZX - Имитация ленты

TAP.RZX позволяет загружать "ленточные файлы", из файла "*.TAP", выбранного функцией #AF.

Для загрузки файла "*.TAP", выберите его из SHELL.V00. После сброса введите:
LOAD ""
или можете ввести:
PRINT USR 8
и загрузить из SHELL.V00 другую программу, которая в свою очередь может читать с ленты (ARTSTDIO.V00, ZEBRA.V00, COPYNEW1.V00)
и загрузите содержимое файла "*.TAP" в неё.

Для чтения данных из файла "*.TAP", ZX ПЗУ должно быть запатчено для вызова #7E hook code. Содержимое IX должно быть перенесено в HL, AF (которое впоследствии переместится в AF') - в BC (бит 6 в C может быть установлен для загрузки байта типа как содержимого порции данных). Число загружаемых байт помещается в DE (для чисел больших, чем длина порции данных, загружается также контрольная сумма, и возвращается ошибка #01).

Стандартная ошибка RST #08 генерируется, когда файлы "*.TAP" не поддерживаются (как при отсутствии ZXVGS). В противном случае A возвращает информацию об ошибке:

#00 - порция данных загружена корректно,

#01 - ошибка чтения ("*.TAP" файл не найден или нажат <SPACE>),

#02 - неверный тип данных.

Число загруженных байтов лежит в BC (должно быть добавлено к IX), число незагруженных байтов - в DE, последний загруженный байт - в L, и вычисленная контрольная сумма - в H.

Внимание. Не используйте #7E hook code в программах! Он может быть использован только в патче ZX ПЗУ.

!!! Временно в L тоже возвращается "вычисленная контрольная сумма".

#7E TAPLOAD

(DE=length,HL=address,B=type,C=flags)(DEHL=standard,BC=readed,A=error)

Патч ZX ПЗУ (48kB модель) для "TAP.RZX". Успешно испытан 2002-03-21. Возможно добавление этих изменений в PROM и EPROM без их стирания. Поместите это в ПЗУ:

       ORG  #0025
#0025  JP   #3881        ;#C3, #81, #38 вместо #FF, #FF, #FF
;not needed for EPROM, see next note

       ORG  #056C
#056C  CALL #0025        ;#CD, #25, #00 вместо #CD, #E7, #05
;or just can be CALL #3881 when empty EPROM is used

;byte at #3880 is readed by Timex Interface to check for ZX128
;or use #3CA1 for ZX128 ROM1
       ORG  #3881        ;тут область #FF-ок
tapld  LD   HL,(#5C68)
       PUSH HL
       LD   HL,(#5C65)
       PUSH HL
       LD   HL,(#5C5F)
       PUSH HL
       LD   H,(IY+0)
       LD   L,C          ;добавлено 1999-12-08
       PUSH HL
       LD   HL,(#5C3D)
       PUSH HL
       LD   HL,taperr    ;переход, если нету ZXVGS
       PUSH HL
       LD   (#5C3D),SP
       PUSH IX
       POP  HL
       EX   AF,AF'       ;здесь флаги и байт типа данных
       PUSH AF
       POP  BC
       EX   AF,AF'       ;возвращаем на место
       RST  #08
       DEFB #7E          ;загрузка DE байт по адресу HL
       ADD  IX,BC        ;добавить к IX число загруженных байт
       POP  BC           ;снять "taperr"
       POP  BC           ;снять (#5C3D)
       LD   (#5C3D),BC   ;это было здесь и раньше; остальное не изменено
       POP  BC           ;снять (IY+0) и C
       POP  BC           ;снять (#5C5F)
       POP  BC           ;снять (#5C65)
       POP  BC           ;снять (#5C68)
       POP  BC           ;снять адрес возврата в ленточный загрузчик
       LD   BC,#0022     ;имитация BC после загрузки...надо улучшить!!!
       CP   #01          ;Cy=0 - error
       RET  NC           ;Z=1 - loading error, Z=0 - wrong chunk type
       LD   A,H
       CP   #01
       RET
;если ZXVGS (или файл "TAP.RZX" не найден, вызывается стандартный обработчик ошибок
taperr POP  HL
       LD   (#5C3D),HL   ;всё это изменено
       POP  HL
       LD   (IY+0),H
       LD   C,L          ;добавлено 1999-12-08
       POP  HL
       LD   (#5C5F),HL
       POP  HL
       LD   (#5C65),HL
       POP  HL
       LD   (#5C68),HL
       LD   B,#00        ;добавлено 2002-03-21
       JP   #05E7        ;LD-EDGE-1 - стандартная загрузка с ленты продолжается

TRD.RZX - Драйвер образа диска TR-DOS


TRDOS.RZX - Драйвер диска TR-DOS


TZX.RZX - Имитация ленты


SCL.RZX - Эмулятор контейнера TR-DOS

Фатальные ошибки

SCL.RZX: Unknown function #nn
SCL.RZX: Unknown call to #nnnn

RSX не в силах загрузить эту TR-DOS программу. Попытайтесь скопировать её в файлы "*.$B" или на образы дисков: "*.TRD" или "*.FDI".


SLT.RZX - Загрузчик снапшотов


SNA.RZX - Загрузчик снапшотов


Z80.RZX - Загрузчик снапшотов

Для загрузки снапшота "*.Z80" просто выберите его из SHELL.V00. Загрузка занимает некоторое время, так как файл упакован. Белые линии на бордере и жужжащий звук означают, что декомпрессия в процессе. После правильной загрузки появляется главное меню, которое предусмотрено для использования опции pOke. Выберите Continue для запуска снапшота.

Не все снапшоты можно загрузить через Z80.RZX. Помните, что этот формат предназначен для эмуляторов, а не для реальной аппаратуры. Кроме добавочного железа возможна проблема с прерываниями. ZXVGS имеет здесь
ограничение - режим прерываний (IM) выбирается на основании содержимого регистра I. Для I=#3F ыбирается IM 1, для всех остальных значений - IM 2. Однако снапшот можер иметь включенный режим IM 1 при I<>#3F! А в этом случае ZXVGS устанавливает IM 2.

Z80.RZX открывает банки ZX128 и AY-3-891X, если возможно.

Фатальные ошибки

Z80.RZX: Wrong file structure

RSX не может распознать содержимое файла. Perhaps not snapshot (one of CP/M assemblers uses such extension), snapshot is dameged or contains new features unknown to the RSX.
 
Z80.RZX: No I'face 1 support
Z80.RZX: SamRam not available

RSX не может запускать снапшоты с поддержкой дополнительной аппаратуры.
 
Z80.RZX: ZX128 banks required

Ваша железяка не позволяет переключать банки памяти через порт #7FFD, чего требует снапшот.
 
Z80.RZX: AY-3-8910/2 not found

Снапшот требует наличия звукового сопроцессора на портах #BFFD и #FFFD, а вы его не имеете или же отключили.


ZXVGSVBM.RZX - Менеджер виртуальных банков


© 05-07-13 22:14:28 Jarek Adamski zxvgs@yarek.com, http://zxvgs.yarek.com
© 2003 Alone Coder (Russian translation).