nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 29 Mar 2024 02:47



Reply to topic  [ 22 posts ]  Go to page Previous  1, 2
SDOS 
Author Message
Doomed

Joined: 12 Feb 2016 13:39
Posts: 463
Reply with quote
Недавно мне в личку написали просьбу собрать SDOS для Ориона, работающую с SD картой через РОМдиск, как это сделано здесь для Апогея. Во вложении образ для РОМдиска, конфиг для emu и проверочный образ SD карты с несколькими Орионовскими игрушками.


Attachments:
Orion-128_SD_Rdsk.zip [434.37 KiB]
Downloaded 347 times
19 Dec 2019 04:14
Profile
Doomed

Joined: 12 Feb 2016 13:39
Posts: 463
Reply with quote
На днях, совместно с пользователем с zx-pk Дмитрий2012, был проведен эксперимент по замене типа носителя в SDOS с SD карты на CF в режиме IDE. Эксперимент проводился на ОрионПро к которому подключен интерфейс NemoIDE. Кроме этого был доработан функционал SDOS для Ориона, что бы была возможность запускать не только RKO, но и ORD и BRU файлы.


Attachments:
sd_dos_v8C.zip [91.21 KiB]
Downloaded 321 times
11 Mar 2020 13:28
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22421
Location: Silicon Valley
Reply with quote
Quote:
Нужно определить, где будет размещаться как код самой SDOS, в ОЗУ или ПЗУ, так и ее служебная область 2048-256=1792 байт и в каких адресах
Откуда взялась цифра 2048-256?
Я вижу, что очищается ровно столько:
Code:
  lxi h,BUF
  lxi b,2048-256
clrmem:
  mvi m,0
  inx h
  dcx b
  mov a,c
  ora b
  jnz clrmem
и объявляется эта служебная область так:
Code:
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кб взять?
Quote:
плюс для работы с FAT16 нужно еще 2КБ ОЗУ

_________________
:dj: https://mastodon.social/@Shaos


03 Mar 2021 23:13
Profile WWW
Doomed

Joined: 12 Feb 2016 13:39
Posts: 463
Reply with quote
Shaos wrote:
Quote:
Нужно определить, где будет размещаться как код самой SDOS, в ОЗУ или ПЗУ, так и ее служебная область 2048-256=1792 байт и в каких адресах
Откуда взялась цифра 2048-256?

самому все вспоминать уже надо, однако смотрю на это:
Code:
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... надо внимательней посмотреть, где еще пол килобайта я не вижу...
Quote:
Значит ли это, что размер буфера FATSEC составляет 1792-0x500=512 байт?

формально FATSEC = ROOTSEC - FATSEC = 4 байта. Однако, похоже, что да, = 512 байт, возможно весь сектор туда читаем, и обращаемся по смещениям. Может это и есть те, недостающие полкило? только реально используется первые 100 байт от всей области... посмотрю...
Quote:
1792 байта это вся ОЗУ которая нужна SDOSу если его затолкать в ПЗУ? Или откуда-то надо ещё 2кб взять?
Quote:
плюс для работы с FAT16 нужно еще 2КБ ОЗУ

стоп, недопонимание пошло. Для того, что бы SDOS запустить на какой то машине, в этой машине нужно ОЗУ для буферов самой SDOSa (эти самые, толи 1792, толи то, что я насчитал сейчас 1380) и память для кода SDOSa, который можно разместить или в ПЗУ или в ОЗУ, в районе 2КБ, все.

итог, при размещение всего SDOS в ОЗУ некой машинки надо выделить в ней около 4КБ оперативной память, грубо, 2КБ кода + 2КБ буферы.
Quote:
1792 байта это вся ОЗУ которая нужна SDOSу если его затолкать в ПЗУ?

да


04 Mar 2021 03:29
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22421
Location: Silicon Valley
Reply with quote
ok - спасибо!

_________________
:dj: https://mastodon.social/@Shaos


04 Mar 2021 10:24
Profile WWW
Doomed

Joined: 12 Feb 2016 13:39
Posts: 463
Reply with quote
PVV wrote:
формально FATSEC = ROOTSEC - FATSEC = 4 байта. Однако, похоже, что да, = 512 байт, возможно весь сектор туда читаем, и обращаемся по смещениям. Может это и есть те, недостающие полкило? только реально используется первые 100 байт от всей области... посмотрю...

посмотрел, дальше ничего не используется, это просто рабочие переменные 100 байт, так что для SDOS надо не 1.7КБ, а 1.4КБ.


04 Mar 2021 12:27
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22421
Location: Silicon Valley
Reply with quote
отлично!!!
если что это я присматриваюсь к SDOS на тему прикручивания к своей карточке SprinterNet
(как временное решение, пока не появится драйвер SD/MMC на самом Спринтере)

_________________
:dj: https://mastodon.social/@Shaos


04 Mar 2021 13:06
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 22 posts ]  Go to page Previous  1, 2

Who is online

Users browsing this forum: No registered users and 8 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.