AstartA Project

Ответить
Аватара пользователя
LessNick
грей сашу — сашу грей
Сообщения: 959
Зарегистрирован: Чт, 26.07.2012 15:00:53
Контактная информация:

AstartA Project

Сообщение LessNick »

[align=center]Привет всем любителям замечательного компьютера Atari, фанатам, а так же им сочувствующим!!

[img=center]https://raw.githubusercontent.com/LessNick/AstartA/master/misc/arduino_due.jpg[/img][/align]

Как уже многие наверное слышали, у меня случилось замечательное событие. Этим летом мне наконец-таки удалось добраться до славного города Менска и передать в ремонт Byteman'у мою очень давнюю покупку «Atari 65XE». Компьютер был приобретён ну ооочень давно и ждал в коробке своего часа. Как выяснилось, поломка оказалась классическая, вышла из строя одна из микросхем памяти и создавала на шине мусор, что для этих моделей оказалось критично и он вообще отказывался запускаться. К счастью у тоже Byteman'а оказалось ведро большая коробка с нужными чипами и после замены компьютер ожил. Так же Byteman выяснил не очень приятный момент. На платы были выкручены в дупель резисторы цветов. Видимо предыдущие владельцы искренне верили, что если крутануть резюки до предела, то картинка появится :bang:

Ну вот ремонт позади, компьютер у меня и первым делом выяснилось, что как-то надо в него загружать программы. Беглый поиск в инете дал самое простое решение, а именно проект SIO2PC. Берётся обычная платка на том же алиэкспресе USB2TTL, которая реализует простейший RS232, но в отличии от классического COM-порта, где разность уровней +12в и -12в, здесь уровни реализуются в виде 0в и +3.3в. Далее контакты подключаются к разъему SIO, согласно схемы:

[align=center]
SIO2USB.png
[/align]

Плата USB2TTL у меня уже была, а вот с коннектором возникли некоторые трудности. Готовых штекеров для ATARI SIO в продаже я не нашел (на тот момент). На ebay и прочих площадках были готовые уже готовые SIO-кабели, но платить порядка €18, что бы затем отчикрыжить вилку, к этому меня судьба не готовила. Так же очень уж не хотелось портить вилку от магнитофона, который мне достался в комплекте с ATARI. Но тут пришла идея напечатать искомый разъём на 3D принтере. К счатью в сети быстро нашлось два чертежа готовых SIO коннекторов. А небезызвестный Aλexander Nihirash с радостью мне в этом помог, за что ему огромнейшее спасибо.

[align=center]
photo_2019-08-20_21-45-09_.jpg
[/align]

После получения заветных разъёмов, встал вопрос с пинами. Изначальная идея использовать незадействованные пины из разъема магнитофона чуть не провалилась. Как не печально, но судя по ржавчине и позеленевшим контактам предыдущий владелец хранил это явно в каком-то сыром помещении, возможно даже в гараже. При извлечении пинов из разъёма магнитофона, некоторые просто рассыпались ибо сгнили. Стал вопрос где достать новые? Не смотря на почтенный возраст устройства, на том же алиекспресе отыскались знакомые штырьки под кодовым названием — «CH3.96 Molex 3.96 Terminal plug connectors». 100 штук обошлось чуть менее доллара и они действительно оказались точь в точь как пины из магнитофонного штекера.

[align=center]
IMG_20190905_224012__.jpg
[/align]

Про сборку самого разъема особо рассказывать нечего, скажу лишь, что возникли вопросы с пропихиванием пинов в отверстие распечатанного штекера. Не знаю, возможно это погрешность при при печати, а возможно и не совсем точный чертёж, тем более, что автор забыл сделать отверстие под винт с другой стороны. Пины пришлось чуть чуть подточить надфилем, после чего они свободно уже вставали в разъём.

[align=center]
photo_2019-08-20_23-27-40_.jpg
[/align]

Не буду вас лишний раз грузить работоспособностью RespeQt, а именно эта программа запускается со стороны PeeCee для симуляции работы дисковода. Скажу лишь что по ряду причин меня это не сильно устроило. Кроме того постоянная «привязанность» к пэцэту породила идею использовать что-то отдельное, самостоятельный девайс который бы не требовал бы постоянного подключения.

На сегодняшний день существует достаточно много готовых проектов в виде того же SDrive и клонов, а так же проектов для готовых платформ, по типу Arduino. Один из таких проектов «SIO2Arduno» мне и захотелось попробовать запустить. К сожалению это оказалось не так просто. По началу проект оказался «заморожен» с 2015 года, совершенно не компилировался в современной версии Arduino IDE, а в ходе эксплуатации выяснилось, что функционал реализован не полностью и частично не верно.

[img=center]https://raw.githubusercontent.com/LessNick/AstartA/master/misc/atari_sio.png[/img]

В результате «доделки» и правки проекта «SIO2Arduno» мне хотелось создать что-то своё, а за одно разобраться в работе SIO устройств и дисковода в частности. У меня уже была приобретена плата Arduino DUE в комплекте с Ethernet Shield, поэтому мучений выбора подо что писать у меня не было. Кроме того, читая комментарии в коде проекта «SIO2Arduino» об ограничениях более мелких Arduino стало понятно почему автор возможно забросил проект, просто не хватало ресурсов. Так или иначе надо отдать должное автору, с его помощью и с помощью исходников RespeQt стал понятен принцип общения ATARI с устройствами через SIO. А благодаря автору эмулятора Altirra и частности потрясающей документации «Altirra Hardware Reference Manual» стали понятны многие команды и принципы работы.

[align=center]
Altirra Hardware Reference Manual.jpg
[/align]

На сегодняшний день проект «AstartA» позволяет эмулировать дисковод и загружать программы с дискет в формате ATR, так же позволяет запускать с SDCart'ы исполняемые файлы в формате XEX (Atari Executable). Кроме того позволяет эмулировать магнитофон и загружать программы с образа кассет в формате CAS. В дальнейшем планов очень много, хотелось бы реализовать запись дискет, поддержать увеличенную скорость работы дисковода (такое под силу SpartaDOS X), а так же поддержать расширенный формат, полный образ дискет в формате ATX.

[img=center]https://raw.githubusercontent.com/LessNick/AstartA/master/misc/indicator.png[/img]

Когда-то давно, я видел в работе дисковод для Atari «LDW Super 2000», у которого была цифровая индикация. Сейчас сложно точно сказать наверняка, но предполагаю, что он показывал текущий трек, по крайней мере на этом видео на это похоже.

[align=center][BBvideo 854,510]http://www.youtube.com/watch?v=zEdZpoa2chQ[/BBvideo][/align]

Поэтому же принципу мне захотелось сделать нечто похожее и отображать текущий трек, на котором находится голова виртуального дисковода. Добавить в проект сдвоенный семисегментный индикатор не составило труда, а вот с отображением есть некоторые трудности. Во первых это чисто техническая, а вторая информационная. Дело в том, что в образах дискет ATR очень мало исходной информации о дискете. О её плотности, формате, количестве секторов на треке можно только догадываться и вычислять опытным путём исходя из размера образа дискеты. Кроме того сам ATARI тоже запрашивает только номер сектора и он может быть в диапазоне от 1 до 720 или больше, в зависимости от формата. А с учётом того, что первые три сектора имеют всегда длину только 128 байт (особенность системы), это всё наводит на своеобразные мысли о необходимости в новом формате дискет.

[align=center]
CLI2Atari.png
CLI2Atari.png (5.24 КБ) 21919 просмотров
[/align]

Кроме того есть мысли по поводу реализации простенькой системы по типу CLI² для TSConf, которая позволила бы монтировать образа командой из консоли, загружать исполняемые файлы, картинки, шрифты прямо с SD-карты. Но это пока только мысли в слух. На сегодняшний день пока это сырая альфа, так сказать проба пера и образа можно монтировать через консоль отладки Arduino. Поддерживаются три команды: cd, dir и mount; соответственно перейти в каталог, отобразить список файлов и примонтировать образ. В ближайших планах поддержать минимум команд SDrive, что позволит управлять виртуальным дисководом прямо с ATARI, как это сделано в проекте «SIO2Arduno».

[align=center]
SDrive.jpg
[/align]

Пока это всё. Если кому будет интересно, с радостью поделюсь дополнительной информацией, а сам проект доступен на github.
(∩。•o•。)っ.゚☆。・ TS-Conf для PentEvo — это классический Pentagon 128k для тех кто хочет больше!
Аватара пользователя
g0blinish
Упырь говнофорума
Сообщения: 3595
Зарегистрирован: Вт, 18.06.2013 10:59:01

Re: AstartA Project

Сообщение g0blinish »

пишы 16К на Silly Venture. Есть два месяца.
пердачок защеканца лвд после чтения моих постов..

[14:29:28] <Alone> На пентагоне картинки на бордюре рисуют. Это вообще нечестно

Теперь поезд ваш в депо, а мой локомотив мчится на укрепление демосцены спектрума.(с)Пиздунков
Аватара пользователя
LessNick
грей сашу — сашу грей
Сообщения: 959
Зарегистрирован: Чт, 26.07.2012 15:00:53
Контактная информация:

Re: AstartA Project

Сообщение LessNick »

g0blinish писал(а):пишы 16К на Silly Venture. Есть два месяца.


Я даж планирую посетить данное мероприятие, благо, что есть пару часов =)
(∩。•o•。)っ.゚☆。・ TS-Conf для PentEvo — это классический Pentagon 128k для тех кто хочет больше!
Аватара пользователя
g0blinish
Упырь говнофорума
Сообщения: 3595
Зарегистрирован: Вт, 18.06.2013 10:59:01

Re: AstartA Project

Сообщение g0blinish »

и еще вопросы:
1. Непонятен принцип работы монтирования дисков -если подмонтировал .ATR, то прокатит загрузка с нажатым Option?

2. Насколько дорого и трудоемко обойдется этот проект?
пердачок защеканца лвд после чтения моих постов..

[14:29:28] <Alone> На пентагоне картинки на бордюре рисуют. Это вообще нечестно

Теперь поезд ваш в депо, а мой локомотив мчится на укрепление демосцены спектрума.(с)Пиздунков
Аватара пользователя
g0blinish
Упырь говнофорума
Сообщения: 3595
Зарегистрирован: Вт, 18.06.2013 10:59:01

Re: AstartA Project

Сообщение g0blinish »

LessNick писал(а):Я даж планирую посетить данное мероприятие, благо, что есть пару часов =)


Завидую. я очередной раз участвую на расстоянии. звали уже.
пердачок защеканца лвд после чтения моих постов..

[14:29:28] <Alone> На пентагоне картинки на бордюре рисуют. Это вообще нечестно

Теперь поезд ваш в депо, а мой локомотив мчится на укрепление демосцены спектрума.(с)Пиздунков
Аватара пользователя
LessNick
грей сашу — сашу грей
Сообщения: 959
Зарегистрирован: Чт, 26.07.2012 15:00:53
Контактная информация:

Re: AstartA Project

Сообщение LessNick »

g0blinish писал(а):если подмонтировал .ATR, то прокатит загрузка с нажатым Option?


Option всего лишь отключает картридж, а в данном случае барсик. На работу дисковода это никак не влияет и да, всё работает.

g0blinish писал(а):Насколько дорого и трудоемко обойдется этот проект?


Сложно на данный момент сказать, пока я в процессе изучения. Сама плата Arduino DUE обошлась на алике где-то $12
Ethernet Shiel нужен пока только как слот SD карты, но у меня на него есть платы.
(∩。•o•。)っ.゚☆。・ TS-Conf для PentEvo — это классический Pentagon 128k для тех кто хочет больше!
Аватара пользователя
LessNick
грей сашу — сашу грей
Сообщения: 959
Зарегистрирован: Чт, 26.07.2012 15:00:53
Контактная информация:

Re: AstartA Project

Сообщение LessNick »

g0blinish писал(а):Завидую. я очередной раз участвую на расстоянии. звали уже.


Ну это пока только в планах, сам понимаешь, всё может ещё 100 раз поменяться.
(∩。•o•。)っ.゚☆。・ TS-Conf для PentEvo — это классический Pentagon 128k для тех кто хочет больше!
Аватара пользователя
g0blinish
Упырь говнофорума
Сообщения: 3595
Зарегистрирован: Вт, 18.06.2013 10:59:01

Re: AstartA Project

Сообщение g0blinish »

LessNick писал(а):Option всего лишь отключает картридж, а в данном случае барсик.


Это и имелось в виду. Например, как будет монтироваться TurboBasicXl.atr?
пердачок защеканца лвд после чтения моих постов..

[14:29:28] <Alone> На пентагоне картинки на бордюре рисуют. Это вообще нечестно

Теперь поезд ваш в депо, а мой локомотив мчится на укрепление демосцены спектрума.(с)Пиздунков
Аватара пользователя
LessNick
грей сашу — сашу грей
Сообщения: 959
Зарегистрирован: Чт, 26.07.2012 15:00:53
Контактная информация:

Re: AstartA Project

Сообщение LessNick »

g0blinish писал(а):Например, как будет монтироваться TurboBasicXl.atr?


Монтируется-то он хорошо =) только я честно не пойму пока что оно хочет:

boot_error.png
boot_error.png (2.24 КБ) 21865 просмотров


Как и в обеих эмуляторах (Altirra и Atari800Win) одинаковый результат, что с Option, что без. На реале так же.

Читает сектор и ему явно не нравится, то что прочитано. Вообще по уму считается что первые три сектора (boot) всегда по 128 байт, по другому атари не может обратиться к дисководу, далее уже хоть по 1024. Но тут явно что-то странное с образом

К слову RespeQt так же выдаёт первые сектора длинной 128 байт и получаем ошибку загрузки.



Короче попробовал сделать новый образ дискеты с AtariDOS 2.0, положил туда исполняемые файлы, загрузил дос, загрузил TBASIC.COM и вуаля, всё работает:

ok.png
ok.png (5.1 КБ) 21865 просмотров
(∩。•o•。)っ.゚☆。・ TS-Conf для PentEvo — это классический Pentagon 128k для тех кто хочет больше!
Аватара пользователя
g0blinish
Упырь говнофорума
Сообщения: 3595
Зарегистрирован: Вт, 18.06.2013 10:59:01

Re: AstartA Project

Сообщение g0blinish »

попробуй образ:
https://www.pouet.net/prod.php?which=70199
пердачок защеканца лвд после чтения моих постов..

[14:29:28] <Alone> На пентагоне картинки на бордюре рисуют. Это вообще нечестно

Теперь поезд ваш в депо, а мой локомотив мчится на укрепление демосцены спектрума.(с)Пиздунков
Аватара пользователя
LessNick
грей сашу — сашу грей
Сообщения: 959
Зарегистрирован: Чт, 26.07.2012 15:00:53
Контактная информация:

Re: AstartA Project

Сообщение LessNick »

g0blinish писал(а):попробуй образ


Как часы! :ura:

IMG_20191007_135844_.jpg
(∩。•o•。)っ.゚☆。・ TS-Conf для PentEvo — это классический Pentagon 128k для тех кто хочет больше!
Аватара пользователя
g0blinish
Упырь говнофорума
Сообщения: 3595
Зарегистрирован: Вт, 18.06.2013 10:59:01

Re: AstartA Project

Сообщение g0blinish »

Ну хоть этот взлетел. я долго искал такую версию.
пердачок защеканца лвд после чтения моих постов..

[14:29:28] <Alone> На пентагоне картинки на бордюре рисуют. Это вообще нечестно

Теперь поезд ваш в депо, а мой локомотив мчится на укрепление демосцены спектрума.(с)Пиздунков
Аватара пользователя
LessNick
грей сашу — сашу грей
Сообщения: 959
Зарегистрирован: Чт, 26.07.2012 15:00:53
Контактная информация:

Re: AstartA Project

Сообщение LessNick »

Небольшое обновление до версии 0.02 alpha:


  • Добавлена поддержка 4 виртуальных дисководов D1/D2/D3/D4. Теперь реально можно маунтить несколько образов одновременно =)
  • Добавлена поддержка команды «запись сектора», теперь можно писать дискеты, по крайней мере из атари бейсик программа сохраняется и загружается назад.
  • Исправлена (доработана) команда CD. Теперь если набрать «cd ..» происходит возврат на 1 поддерикторию.

IMG_20191011_170559_1_.jpg


Все изменения залиты в github. :vodka:
(∩。•o•。)っ.゚☆。・ TS-Conf для PentEvo — это классический Pentagon 128k для тех кто хочет больше!
Аватара пользователя
g0blinish
Упырь говнофорума
Сообщения: 3595
Зарегистрирован: Вт, 18.06.2013 10:59:01

Re: AstartA Project

Сообщение g0blinish »

перебирал тут архив дем. под Atari800win часть взлетает, другая только после отключенного Бейсика. Если есть поддержка .xex, то неплохо было бы сделать отключение.

И еще такой вопросик: а что такое .xfd? я видел образы, но не стал разбираться. Легко ли в .atr перегнать?

а по аналогу msdos имеет ли смысл использовать "cd \" ?
пердачок защеканца лвд после чтения моих постов..

[14:29:28] <Alone> На пентагоне картинки на бордюре рисуют. Это вообще нечестно

Теперь поезд ваш в депо, а мой локомотив мчится на укрепление демосцены спектрума.(с)Пиздунков
Аватара пользователя
LessNick
грей сашу — сашу грей
Сообщения: 959
Зарегистрирован: Чт, 26.07.2012 15:00:53
Контактная информация:

Re: AstartA Project

Сообщение LessNick »

g0blinish писал(а):перебирал тут архив дем. под Atari800win часть взлетает, другая только после отключенного Бейсика. Если есть поддержка .xex, то неплохо было бы сделать отключение.


Надо подумать, я так пока в структуры далеко не заглядывал. Вообще XEX грузится очень хитро. Делается симуляция дискеты (прямо SCL на спектруме) и первые сектора загрузчик, который потом «валит» по 1024 байта за один пакет. Я пока с самим загрузчиком не разбирался, просто взял готовый от RespeQt. Чисто гипотетически думаю можно его допилить, за одно и поэкспериментировать со скоростью порта. Я конечно фиг его знает, но в доке от Altirra там прям чуть ли не до 115200 можно разогнаться или даже чуть больше =)

g0blinish писал(а):И еще такой вопросик: а что такое .xfd? я видел образы, но не стал разбираться. Легко ли в .atr перегнать?


Ну если верить доке, то это тупо посекторный дамп без каких-либо заголовков для PC. Первые 3 сектор стандартно 128б, дальше как карта ляжет :)

У меня под рукой нет в таком формате файлов, но можно попробовать конвертнуть тем же ATR Tools. Он правда немного «загадочный» и виснет при старте если запущено «рандомное» приложение, у кого-то вайбер, у кого-то либре офис. Если их закрыть чудо-программа запускается)))

g0blinish писал(а):а по аналогу msdos имеет ли смысл использовать "cd \" ?


я валю обычными cd /aaa/bbb/ccc/ddd
(∩。•o•。)っ.゚☆。・ TS-Conf для PentEvo — это классический Pentagon 128k для тех кто хочет больше!
Ответить