Загрузка файл в эмулятор

Эмулятор Радио-86РК и других советских компьютеров на КР580ВМ80А http://www.emu80.org

Moderator: Pyk

User avatar
shoorick
Doomed
Posts: 487
Joined: 05 Nov 2007 05:08
Location: Украина

Загрузка файл в эмулятор

Post by shoorick »

Добрый день!

Как загрузить собственный бинарный файл в эмулятор?
Или какой формат файла rks?
если там в конце - контрольная сумма - можно ли ее проигнорировать?
или только rss? (еще не изучал формат - надеюсь на более простой путь :) )

спасибо
b2m
Devil
Posts: 915
Joined: 26 May 2003 06:57

Post by b2m »

Формат rks очень простой: адрес первого байта (младший байт адреса сначала), адрес последнего байта, потом данные, и в конце два байта контрольной суммы. Контрольную сумму можно ставить любую, монитор лишь скажет, что контрольная сумма не совпала, но сами данные загрузятся.
RSS формат гораздо сложнее, но для создания таких файлов на сайте есть утилита bin2rss.
User avatar
shoorick
Doomed
Posts: 487
Joined: 05 Nov 2007 05:08
Location: Украина

Post by shoorick »

Спасибо!
User avatar
Shaos
Admin
Posts: 24099
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

b2m wrote:Формат rks очень простой: адрес первого байта (младший байт адреса сначала), адрес последнего байта, потом данные, и в конце два байта контрольной суммы. Контрольную сумму можно ставить любую, монитор лишь скажет, что контрольная сумма не совпала, но сами данные загрузятся.
у форматов rkr, rk, gam (последний вроде ещё один байт вначале содержит - 0xE6) как я понял старший байт первым идёт в адресах...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
HardWareMan
Banned
Posts: 2139
Joined: 20 Mar 2005 13:41
Location: От туда

Post by HardWareMan »

Shaos wrote:у форматов rkr, rk, gam (последний вроде ещё один байт вначале содержит - 0xE6) как я понял старший байт первым идёт в адресах...
Это дампы кассет. 0хЕ6 - синхробайт. У Ориона еще и КС в конце с синхробайтом. :3
b2m
Devil
Posts: 915
Joined: 26 May 2003 06:57

Post by b2m »

Shaos wrote:у форматов rkr, rk, gam (последний вроде ещё один байт вначале содержит - 0xE6) как я понял старший байт первым идёт в адресах...
Да, у Спеца байты переставлены.
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
DmitryMilk
Writer
Posts: 15
Joined: 12 May 2025 21:56

Re: Загрузка файл в эмулятор

Post by DmitryMilk »

А как считается контрольная сумма? Где-то прочел, что у Радио86-РК младший байт контрольной суммы является просто младшим байтом обычной суммы, а старший - циклическая восьмибитная сумма, когда каждый перенос в старший байт добавляется единицей к младшему байту.

Пытаюсь проверить на нескольких RKS - младший байт обычной суммы действительно совпадает, а вот старший как-то не хочет совпадать.

Вот тупой уже прям в лоб код написал:

Code: Select all

def crc(data):
    s = 0
    for x in data:
        carry, s = divmod(s + x, 256)
        s += carry
    return s
- не хочет совпадать.

И еще не понял насчет замечания по поводу переставленных байтов в адресах - это в каком месте? Вроде во всех RKS в начала правильные little-endian адреса. Правда еще непоняттка по поводу адреса конца - он включительно или исключительно? (похоже, что включительно, то есть, адрес последнего байта, а не следующего за ним).
DmitryMilk
Writer
Posts: 15
Joined: 12 May 2025 21:56

Re: Загрузка файл в эмулятор

Post by DmitryMilk »

Все, спасибо всем неответившим, сам нашел :)

Оказывается циклическая контрольная сумма криво считается во всех этих Радио86 РК и похоже во всех, кто позаимствовал оттуда код - мало того, что в младший разряд добавляются переносы не из подсчитываемой циклической суммы, а из обычной суммы (считаемой параллельно), так еще и в циклической на один байт меньше.

Но по поводу замечания о "переставленных" байтах в адресах вопрос остается - я не вижу никакой перестановки.
b2m
Devil
Posts: 915
Joined: 26 May 2003 06:57

Re: Загрузка файл в эмулятор

Post by b2m »

DmitryMilk wrote: 09 Jul 2025 05:34 Но по поводу замечания о "переставленных" байтах в адресах вопрос остается - я не вижу никакой перестановки.
Практически у всех советских 8-биток первым байтом на ленте идёт старший байт адреса, затем младший. И только у Специалиста по другому.
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
b2m
Devil
Posts: 915
Joined: 26 May 2003 06:57

Re: Загрузка файл в эмулятор

Post by b2m »

DmitryMilk wrote: 09 Jul 2025 04:46 Правда еще непоняттка по поводу адреса конца - он включительно или исключительно? (похоже, что включительно, то есть, адрес последнего байта, а не следующего за ним).
Адрес последнего байта, а не следующего за ним. Т.е. 0000 0000 это файл в 1 байт.
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
DmitryMilk
Writer
Posts: 15
Joined: 12 May 2025 21:56

Re: Загрузка файл в эмулятор

Post by DmitryMilk »

b2m wrote: 09 Jul 2025 06:42 Практически у всех советских 8-биток первым байтом на ленте идёт старший байт адреса, затем младший. И только у Специалиста по другому.
Понятно, спасибо.