Просмотр полной версии : TRDOS для Neo
ILoveSpeccy
06.03.2008, 19:25
Наконец-то заработал TRDOS на моём Neo. :D:D:D
Хотя и немного с опозданием (я имею в виду Speccy2007)
но всёже.... вдруг кому интересно...
TRD-образы хранятся на SD-карте. Пока без файловой системы.
Была куча проблем связать AVR с Spartan3 от Xilinx.
Скорость работы вроде ничего... EXOLON грузится примерно за 5-6 секунд.
Попозже выложу инфу поподробнее.
p.s. Прошивка занимает 3750 байт.
Прошивка для AVR или для Xilinx?
Если для первого - снимаю шляпу - так можно было только на асме заделать....
Да и в другом случае тоже можно снять - один человек все таки работал.
Вопрос немного оффтопик - вы сопряжение логики с 5-вольтовыми AVR, Z80 как делали?
Я сейчас задумываюсь заделать свой спек, на основе Speccy2007 - пока в раздумъях что брать, либо 100% рабочую 5-и вольтовую логику либо 3.3 вольта и тут уже либо делать сопряжение либо на авось понадеяться...
ILoveSpeccy
06.03.2008, 21:53
Прошивка для AVR или для Xilinx?
Если для первого - снимаю шляпу - так можно было только на асме заделать....
Да и в другом случае тоже можно снять - один человек все таки работал.
Вопрос немного оффтопик - вы сопряжение логики с 5-вольтовыми AVR, Z80 как делали?
Я сейчас задумываюсь заделать свой спек, на основе Speccy2007 - пока в раздумъях что брать, либо 100% рабочую 5-и вольтовую логику либо 3.3 вольта и тут уже либо делать сопряжение либо на авось понадеяться...
Итак...
работает всё следующим образом:
спек собран на FPGA Spartan 3.
На FPGA висят:
* 512Kb 10ns SRAM от Samsung
* 32Mbit NAND Flash
* ATMega32-8L (частота 8MHz, 3.3V)
AVR связан с FPGA напрямую. Связь уровнями 3.3V напрямую, без буферов и т.п.
Тоесть, эмуль BetaDisk - это ATMega32 + SD-слот + 1 светодиод и 2 резистора. ВСЁ.
FPGA и AVR связаны следующими сигналами:
* шина данных (8 бит)
* /CS - доступ к портам TRDOS
* /WR - запись в порт
* /RD - чтение из порта
* A0,A1,A2 - выбор порта #F1,#F3,#F5,#F7,#FF
* и WAIT - остановка CPU
итого 15 сигналов (соответственно 15 пинов на FPGA и 15 на AVR)
Так как Z80 внутри FPGA, проблем с 5V уровнями нет.
Всё писал на AVR-GCC.
А по-поводу "один человек все таки работал"...
ОГРОМНОЕ ОТДЕЛЬНОЕ СПАСИБО AlexBelу
з.Ы. только не смейтесь... :) но проектом я занимался с сентября 2007 года, тоесть пол года.
Это мой первый самостоятельный проект на AVR... я учил контроллер и GCC... а выученное вкладывал в проект.
С этим понятно, спасибо :)
А у предыдущего варианта на Xilinx-е были разные напряжения у Z80, Памяти и CPLD или у всех 5 вольт?
P.S.
Какая именно модификация Spartana-3 использовалась?
ILoveSpeccy
06.03.2008, 22:52
С этим понятно, спасибо :)
А у предыдущего варианта на Xilinx-е были разные напряжения у Z80, Памяти и CPLD или у всех 5 вольт?
P.S.
Какая именно модификация Spartana-3 использовалась?
Старый вариант был на Spartan-2. Spartan-2 питается 2.5V, а I/O 3.3V.
Z80, ОЗУ и ПЗУ на 5V.
Но проблем небыло т.к. Spartan2 толерантен к 5V TTL&CMOS
Сейчас спек на Spartan 3-700AN.. на девборде
Окончательный вариант будет на Spartan 3-400
Ясно.
Ладно, буду пробовать на Altera ACEX - они тоже 5V Toolerant. Сгорит - ну и фиг с ним.
Просто хочется чтоб хотяб ЦПУ был родной...
ILoveSpeccy
06.03.2008, 23:32
Ясно.
Ладно, буду пробовать на Altera ACEX - они тоже 5V Toolerant. Сгорит - ну и фиг с ним.
Просто хочется чтоб хотяб ЦПУ был родной...
Я свой спек на Spartan-2 с реальными Z80 и AY собирался доделать...
Где-то на этом форуме видел сцылку на эмулятор AY на базе интеловского микроконтроллера. В принципе у AVR-ки есть PWM на выходах - на котором можно попробовать сделать похожий эмулятор.
ILoveSpeccy
07.03.2008, 00:31
Где-то на этом форуме видел сцылку на эмулятор AY на базе интеловского микроконтроллера. В принципе у AVR-ки есть PWM на выходах - на котором можно попробовать сделать похожий эмулятор.
Я пробовал посчитать, и у меня вышло, что на 8MHz (около 8 mips) маловато будет для нормальной эмуляции AY..
Я буду на VHDL писать... благо примеров достаточно...
А по-поводу "один человек все таки работал"...
ОГРОМНОЕ ОТДЕЛЬНОЕ СПАСИБО AlexBelу
Дим, мне очень приятно, что моя скромная помощь помогла сделать то, что я сам обещаю сделать с ноября прошлого года (Axor, прости засранца). В общем. спасибо за спасибо :)
Кстати, я наконец-то скомпилил у себя эмулятор на PIC, сегодня-завтра подключу к реальному "пентагону" и, думаю, будет еще один работающий в реале эмулятор флопа.
Вообще-то, если быть честным, проект ты сделал действительно сам, я лишь предоставил некоторую информацию.
Кстати, я наконец-то скомпилил у себя эмулятор на PIC, сегодня-завтра подключу к реальному "пентагону" и, думаю, будет еще один работающий в реале эмулятор флопа.
Ждем-с!!!!
balu_dark
07.03.2008, 16:44
ребят - а обьедениться вместе и доделать эмуль на запись? через денька 4 думаю спаяю таки свой Спек2007 и приступлю тоже куховарить ( сейчас праздники и переезд из офиса - посему времени включить паяльник просто нет) . по поводу своего проекта - я все таки буду пробовать на Xilinx 95000 серии - оптимальным считаю 100ногий корпус 95144 ( и по количеству ячеек и по количеству выводов) плюс взял Z8L18020FSC для экспериментов и память рам BSI BS62LV4006SIP55 она 512к*8, 5В ,55нс
Господа!
Спек 2007 от SYD - супер!
Xilinx 95000 серии - КРУТО!
...а "выдрать" АВРку из 2007-го с контроллером клавы и подключить к реалу - никак?
Если глупость сморозил - возможно от недопонимания.... сильно не кричите.
... оно понятно - кому PIC, кому AVR, кому Xilinx ближе.... а что проще спаять на коленке для реала?
Оччень хотелось бы ВМЕСТО дисковода с ВГ приторочить SD карточку к реалу и TR-DOS получить!
з.ы. жду эмулятор на PIC :-)
...а "выдрать" АВРку из 2007-го с контроллером клавы и подключить к реалу - никак?
гм... ну насчёт выдрать не знаю, но есть отдельная мультикарточка... http://zx.pk.ru/showthread.php?t=609
Господа!
Спек 2007 от SYD - супер!
Xilinx 95000 серии - КРУТО!
...а "выдрать" АВРку из 2007-го с контроллером клавы и подключить к реалу - никак?
Если глупость сморозил - возможно от недопонимания.... сильно не кричите.
... оно понятно - кому PIC, кому AVR, кому Xilinx ближе.... а что проще спаять на коленке для реала?
Оччень хотелось бы ВМЕСТО дисковода с ВГ приторочить SD карточку к реалу и TR-DOS получить!
з.ы. жду эмулятор на PIC :-)
Выдирать ничего не надо - Caro разработал прекрасный контроллер клавиатуры. Не проще ли его использовать?
Насчет "на коленке"... Не знаю. Обе схемы крайне примитивны, но AVR прошивать проще (несколькими проводками, подключенными к LPT), в то время как PIC требует программатора. Каждый работает с тем, с чем удобнее. В данном случае, мне удобнее работать с PIC.
В общем, отчитаюсь завтра-послезавтра, ждите :)
Добавлено через 8 минут
ребят - а обьедениться вместе и доделать эмуль на запись?
Я думаю, лучше подумать, как лучше сделать браузер для содержащихся на карте имеджей TRD для просмотра и выбора. Без записи прожить можно (временно, в всяком случае), а вот без нормального выбора образов - никак. Можно для этого использовать LCD (текстовый или графический), а можно задействовать ресурсы спектрума. В первом случае получается абсолютная независимость от вида спека, но некоторое удорожание. Во втором случае больше удобства и дешевле, но необходимость выполнить все так, чтобы сохранялась совместимость с любыми (или, во всяком случае, с большинством) клонов спека.
ILoveSpeccy
07.03.2008, 22:58
У меня по-поводу выбора образов пока 2 идеи:
Первая - для начала. В какой нибудь порт (можно выбрать по-желанию) пишу число из бейсика... out xx,[номер].
А в TRDOS дополнительно выбирается онин из 4 дисководов.
Итого можно выбрать один из 1024 образов на карте.
В принципе так у меня щас всё работает.
Один недостаток... как в караоке. Список нужен с описаниями образов :D
Вторая идея, чтобы контроллер шуршил по карте и собирал инфу о хранящихся
на ней образах и подготавливал boot.b
Такой способ не требует вмешательства в железо спека и совместимость будет 100%
У меня по-поводу выбора образов пока 2 идеи:
Первая - для начала. В какой нибудь порт (можно выбрать по-желанию) пишу число из бейсика... out xx,[номер].
А в TRDOS дополнительно выбирается онин из 4 дисководов.
Итого можно выбрать один из 1024 образов на карте.
В принципе так у меня щас всё работает.
Один недостаток... как в караоке. Список нужен с описаниями образов :D
Вторая идея, чтобы контроллер шуршил по карте и собирал инфу о хранящихся
на ней образах и подготавливал boot.b
Такой способ не требует вмешательства в железо спека и совместимость будет 100%
Думаю, запись в порт из басика - не самый удачный вариант - придется дорабатывать компьютер, что далеко не каждому под силу, какой бы простой доработка не была. Хотя, конечно, вариант хорош - можно, например, сделать запись в порт 0x1F - насколько я помню, он используется только на чтение "кемпстоном".
А вот о формировании "служебного" образа, содержащего информацию об имеющихся образах (даже с их кратким описанием) я тоже задумывался. При этом контроллер должен будет только отслеживать все "лазания" по образу :)
Еще вариант, уже предлагавшийся - использование дорожек 161-255 и чтение имеющейся на них, разумеется, фиктивной, информации, содержащей данные об образах. Для этого нужно будет, опять-таки, создать "служебный" образ со "служебным" бутом.
ILoveSpeccy
08.03.2008, 11:25
Так как для записи образов на карту нельзя будет обойтись без PC,
а ещё и файловая система пока моим ёмулем не поддерживается,
буду писать на делфях прогу, которой и буду организовывать
порядок на карте...
Все образы получат имя и краткое описание, а вся информация о них
будет записываться в перый образ, который будет загружаться по-умолчанию.
НО есть одна проблемка: ассемблера Z80 я незнаю,
поэтому прогу
для выбора образа буду писать на бейсике.
Можно ли сделать так, чтобы при загрузке с дискеты
boot.b запускал бейсик-прогу???
Можно ли сделать так, чтобы при загрузке с дискеты
boot.b запускал бейсик-прогу???Назови свою BASIC-прогу boot.b, она и запустится при старте TRDOS.
Возьми исходник бута какого-нибудь. На zxdn.narod.ru например...
НО есть одна проблемка: ассемблера Z80 я незнаю
Так ты и C не знал, а почти сразу начал писать на нем :D
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot