SDOS

8-битные микроконтроллеры и микропроцессоры от Intel и их клоны, а также компьютеры на них построенные

Moderator: Shaos

PVV
Doomed
Posts: 463
Joined: 12 Feb 2016 13:39

Re: SDOS

Post by PVV »

Недавно мне в личку написали просьбу собрать SDOS для Ориона, работающую с SD картой через РОМдиск, как это сделано здесь для Апогея. Во вложении образ для РОМдиска, конфиг для emu и проверочный образ SD карты с несколькими Орионовскими игрушками.
You do not have the required permissions to view the files attached to this post.
PVV
Doomed
Posts: 463
Joined: 12 Feb 2016 13:39

Re: SDOS

Post by PVV »

На днях, совместно с пользователем с zx-pk Дмитрий2012, был проведен эксперимент по замене типа носителя в SDOS с SD карты на CF в режиме IDE. Эксперимент проводился на ОрионПро к которому подключен интерфейс NemoIDE. Кроме этого был доработан функционал SDOS для Ориона, что бы была возможность запускать не только RKO, но и ORD и BRU файлы.
You do not have the required permissions to view the files attached to this post.
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: SDOS

Post by Shaos »

Нужно определить, где будет размещаться как код самой SDOS, в ОЗУ или ПЗУ, так и ее служебная область 2048-256=1792 байт и в каких адресах
Откуда взялась цифра 2048-256?
Я вижу, что очищается ровно столько:

Code: Select all

  lxi h,BUF
  lxi b,2048-256
clrmem:
  mvi m,0
  inx h
  dcx b
  mov a,c
  ora b
  jnz clrmem
и объявляется эта служебная область так:

Code: Select all

BUFDIR  EQU BUF+0200h
CWD     EQU BUF+0400H
FATSEC  EQU BUF+0500H

ROOTSEC EQU FATSEC+4
DATASEC EQU ROOTSEC+4
ROOTLEN EQU DATASEC+4
ROOTLNS EQU ROOTLEN+2
SECINBL EQU ROOTLNS+2
FAT_NXT EQU SECINBL+1
BUFSEC  EQU FAT_NXT+3
BLKLEN  EQU BUFSEC+4
BLKSEC  EQU BLKLEN+1
BNEXT   EQU BLKSEC+4
FBPOS   EQU BNEXT+4
FBLEN   EQU FBPOS+2
DIRREC  EQU FBLEN+2
CWDBLK  EQU DIRREC+1
LINEBUF EQU CWDBLK+4
SDTYPE  EQU LINEBUF+38h
Значит ли это, что размер буфера FATSEC составляет 1792-0x500=512 байт?

1792 байта это вся ОЗУ которая нужна SDOSу если его затолкать в ПЗУ? Или откуда-то надо ещё 2кб взять?
плюс для работы с FAT16 нужно еще 2КБ ОЗУ
Я тут за главного - если что шлите мыло на me собака shaos точка net
PVV
Doomed
Posts: 463
Joined: 12 Feb 2016 13:39

Re: SDOS

Post by PVV »

Shaos wrote:
Нужно определить, где будет размещаться как код самой SDOS, в ОЗУ или ПЗУ, так и ее служебная область 2048-256=1792 байт и в каких адресах
Откуда взялась цифра 2048-256?
самому все вспоминать уже надо, однако смотрю на это:

Code: Select all

BUFDIR  EQU BUF+0200h
CWD     EQU BUF+0400H
FATSEC  EQU BUF+0500H

ROOTSEC EQU FATSEC+4
...
SDTYPE  EQU LINEBUF+38h
от определения начала ОЗУ_SDOSa - BUF до FATSEC 0х500 байт, те 1280 байт, и от FATSEC до SDTYPE еще 100 байт набегает, те 1380 байт надо, а не 1792, которые очищаются при старте SDOS... надо внимательней посмотреть, где еще пол килобайта я не вижу...
Значит ли это, что размер буфера FATSEC составляет 1792-0x500=512 байт?
формально FATSEC = ROOTSEC - FATSEC = 4 байта. Однако, похоже, что да, = 512 байт, возможно весь сектор туда читаем, и обращаемся по смещениям. Может это и есть те, недостающие полкило? только реально используется первые 100 байт от всей области... посмотрю...
1792 байта это вся ОЗУ которая нужна SDOSу если его затолкать в ПЗУ? Или откуда-то надо ещё 2кб взять?
плюс для работы с FAT16 нужно еще 2КБ ОЗУ
стоп, недопонимание пошло. Для того, что бы SDOS запустить на какой то машине, в этой машине нужно ОЗУ для буферов самой SDOSa (эти самые, толи 1792, толи то, что я насчитал сейчас 1380) и память для кода SDOSa, который можно разместить или в ПЗУ или в ОЗУ, в районе 2КБ, все.

итог, при размещение всего SDOS в ОЗУ некой машинки надо выделить в ней около 4КБ оперативной память, грубо, 2КБ кода + 2КБ буферы.
1792 байта это вся ОЗУ которая нужна SDOSу если его затолкать в ПЗУ?
да
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: SDOS

Post by Shaos »

ok - спасибо!
Я тут за главного - если что шлите мыло на me собака shaos точка net
PVV
Doomed
Posts: 463
Joined: 12 Feb 2016 13:39

Re: SDOS

Post by PVV »

PVV wrote: формально FATSEC = ROOTSEC - FATSEC = 4 байта. Однако, похоже, что да, = 512 байт, возможно весь сектор туда читаем, и обращаемся по смещениям. Может это и есть те, недостающие полкило? только реально используется первые 100 байт от всей области... посмотрю...
посмотрел, дальше ничего не используется, это просто рабочие переменные 100 байт, так что для SDOS надо не 1.7КБ, а 1.4КБ.
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: SDOS

Post by Shaos »

отлично!!!
если что это я присматриваюсь к SDOS на тему прикручивания к своей карточке SprinterNet
(как временное решение, пока не появится драйвер SD/MMC на самом Спринтере)
Я тут за главного - если что шлите мыло на me собака shaos точка net