ZXNet эхоконференция «hardware.zx»


тема: "Магнитофон" для Спека



от: jdigreze
кому: All
дата: 04 Nov 2005
Hello, caro

Паузу можно реализовать и как доп.функцию на boot'e, а на start'e доп.функцией
поставить еще и stop...
Да, наверно все-таки индикатор нужен... Хотя спорно, в общем надо
экспериментировать.

от: jdigreze
кому: All
дата: 04 Nov 2005
Hello, madcore

imho, работа с trd'шниками через магнитофонный порт не реальна.

Выскажу пару слов по интерфейсу управления. Мне кажется, будет достаточно
led-индикатор питания, и две кнопки - boot, start...
Hабираем на Спектруме LOAD "". Жмем boot.
Кнопка boot активирует посылку программы-селектора на Спектрум. Которая должна
осуществлять, в интерактивном режиме, выбор нужного образа. После того, как
образ выбран, его номер запоминается в "магнитофоне". Далее делаем reset
Спектруму. И опять набираем LOAD "". После чего нажимаем кнопочку start.
Которая активирует посылку выбранного образа на Спектрум.
Подобная реализация позволит снизить себестоимость девайса за счет отсутствия
"лишних" кнопок и дисплея примерно на 100-300рубликов.

от: Камиль Каримов
кому: All
дата: 04 Nov 2005
Hello, jdigreze

jdi> Выскажу пару слов по интерфейсу управления. Мне кажется, будет
jdi> достаточно led-индикатор питания, и две кнопки - boot, start...
jdi>

Для работы с подгружаемыми уровнями нужна еще фиксируемая кнопка "ПАУЗА".
А индикатор стоимостью порядка 50 р. надо оставить.
Очень полезно если на нем будет показываться время до конца загрузки текущего
блока.

от: Alexandr Tsidaev
кому: All
дата: 07 Nov 2005
Hello, DVS

DVS> структрура его должна динамически изменяться (BAS или ASM) в
DVS> зависимости от файл-состава карты.
DVS>
DVS> Если будет такой "селектор", то можно будет на печатку просто не
DVS> впаивать индикатор и всё (обратной то связи у индикатора нету), даже
DVS> софт переписывать не надо.

хммм... или я чего-то недопонял, или это проще пареной репы :-))
вот такой простейший вариант пришел в голову, на бейсике :-)

10 FOR n=0 to PEEK(25999)
20 for k=0 to 10
30 print chr$ peek 26000+n*12+k;
40 next k
50 print tab 1;peek 26000+n*12+11
60 next n

проще не придумать :) за tab 1 в 50 строке не ручаюсь, эмуля под рукой
проверить нету, задумывалось, что после такого печать будет с 17го символа
строки
полученный .$b можно даже не генерировать на лету, а хранить на флэхе
а генерировать только массив
адрес 25999 - число файлов(0-255, ничто не мешает чуть переделать под 65536
штук)
сдреса 26000-65535 - массив 12 байтных описаний файлов в виде 11 байт имя+1
байт номер
короче,

struct fdesc
{
char name[11];
unsigned char fileNumber;
}

от: DVS
кому: All
дата: 07 Nov 2005
Hello, Eltaron

2 Eltaron

Спасибо! Идея понятна! Hо всё же, чтобы мне не заморачиваться, хотелось бы
иметь tzx этого "селектора", с указанием того, начиная с какого смещения
подсовывать туда fdesc[i], короче, чтобы заинтересованый человек взял и сделал
этот кусок от и до.

от: DVS
кому: All
дата: 07 Nov 2005
Hello, jdigreze

2 jdigreze

Такая идея с селектором уже была и как и в тот раз я задаю вопрос (внимание
вопрос :-) бумм... ).
Возьмёшься сделать такой "селектор"? Если да, то учти, что структрура его
должна динамически изменяться (BAS или ASM) в зависимости от файл-состава
карты.

Если будет такой "селектор", то можно будет на печатку просто не впаивать
индикатор и всё (обратной то связи у индикатора нету), даже софт переписывать
не надо.

PS: софт под этот девайс пишется на IAR C.

от: jdigreze
кому: All
дата: 07 Nov 2005
Hello, Eltaron

Hеее... Динамический basic или asm - это бред! ;)
Hужна программа именно для двусторонноего обмена, что-то типа коммандера,
который будет листать файлы на флэшке, устанавливать/снимать метку актуальности
на/с файлов.

Протокол обмена, возможно, можно будет сделать синхронным. Т.е. если магнитофон
передает данные, то синхросерию формирует спек, если спек передает данные, то
сихру дает магнитофон.

К сожалению у меня "кай" пока в дауне, до выходных надеюсь его реанимировать и
попробовать поработать через lpt с писишкой. Если все пройдет нормально -
выложу спецификацию протокола обмена 0-го уровня. А дальше нужно будет думать о
протоколе обмена информацией...

ЗЫ: Лет 5 назад я делал подобный обмен файлами с писишкой, все работало
замечательно :)

от: DVS
кому: All
дата: 07 Nov 2005
Hello, DVS

2 caro

Может как-нибудь скооперируемся насчёт разводки платы? PCAD и Eagle не мой
профиль, а я люблю делать то, в чём я профи или почти профи.
Я бы оплатил опытную партию в количестве 5-10 шт.
Сколько это может стоить например в техносвязи.
Размер платы ~2 дип корпуса Меги16.

Плата не совсем простая т.к. требуется установка кнопок, индикатора, слота под
флэш. За работу по разводке могу обещать 1-2 платы и оффициальный статус
бета-тестера. В общем можем договориться через личку, если есть время.

от: DVS
кому: All
дата: 07 Nov 2005
Hello, DVS

В общем вот документ:

ТЗ (почти) на разработку файл менеджера для совместной работы ZX-совместимого
компьютера и магнитофона HardTaper.

Hазначение: Файл-менеджер предназначен для просмотра списка доступных
файлов записанных на флэш носитель магнитофона, облегчения (ну вообще то кому
как конечно и насчёт удешевления тоже) выбора воспроизводимого файла, а также
блока в файле.

Логика работы:
Пока спекки находиться в режиме загрузки с ленты, нажатием кнопки (теперь уже
комбинации кнопок т.к. кто следит за темой уже знают, что юзер-интерфейс
состоит из 4-х сегментов индикатора и 4-х кнопок) на магнитофоне происходит
загрузка файл-менеджера в спекки.
Файл-менеджер обеспечивая прокрутку и поиск нужного файла, передаёт его
идентификатор обычной командой SAVE ( предварительно спрашивая Yes/No)
магнитофону.
Магнитофон получив идентификатор файла, подготавливает его к воспроизведению и
входит в режим паузы на время Tпз (задаётся уставкой).
Файл-менеджер делает вводит спекки в режим загрузки повторно (на этом его
работа закончена).
Магнитофон выдержав паузу начинает воспроизведение файла.

Исполнение возложить на: jdigreze
Дата: 07.11.2005
Подпись: команда Спекки

:-)))

В процессе написания выяснился один минус: нельзя файл-менеджером выбрать
подгружаемый уровень ( догадались почему? :-))) ), а с индикатора пожалуйста!
Это можно обойти сделав файл-менеджер теневым или...

Hу в общем кто ещё хочет участвовать и сделать дополнительные примочки :spy: ?
Дерзайте!

PS: ПЛЮС: сей файл-менеджер не увеличивает стоимости девайса ;-)

от: jdigreze
кому: All
дата: 07 Nov 2005
Hello, DVS

Кажется я встрял... Ок. Буду "попытаться сделать" ;)
ТЗ в общих чертах понятен. Есть некоторый вопрос для уточнения - внутренняя
структура файловой системы на флэшке, и may be, есть параметры точек входа на
загрузку и запись файлов туда?
В общем-то с AVR'ами немного знаком, так что могу попытаться и часть кода для
магнитофона написать...

от: Чунин Роман
кому: All
дата: 07 Nov 2005
Hello, DVS

DVS> 2 caro
DVS>
DVS> Может как-нибудь скооперируемся насчёт разводки платы? PCAD и Eagle
DVS> не мой профиль, а я люблю делать то, в чём я профи или почти профи.
DVS> Я бы оплатил опытную партию в количестве 5-10 шт.
DVS> Сколько это может стоить например в техносвязи.
DVS> Размер платы ~2 дип корпуса Меги16.
DVS>
DVS> Плата не совсем простая т.к. требуется установка кнопок, индикатора,
DVS> слота под флэш. За работу по разводке могу обещать 1-2 платы и
DVS> оффициальный статус бета-тестера. В общем можем договориться через
DVS> личку, если есть время.

Я бы тоже поучаствовал в процессе!

от: Alexandr Tsidaev
кому: All
дата: 08 Nov 2005
Hello, DVS

DVS> Eltaron предложил на BAS написать вьювер, а в CODE запихать список
DVS> файлов как цепочку из fdesc (короче говоря будет цепочка из блоков по
DVS> 11 байт 8байт имя + 3 байта расширение, идентификатор или номер не
DVS> нужен

а, в общем-то, и расширение имхо не нужно :-))
все равно оно tzx :-))
если без него, то на файл будет всего 8 байт, что удобней, чем 11, ибо степень
двойки, да и в 48К дескрипторов уместится больше... правда все равно на все
образы с WOS не хватит :)

от: DVS
кому: All
дата: 08 Nov 2005
Hello, Eltaron

2 Eltaron
Расширение пригодится в будущем.

2 jdigreze
Блок CODE (его часть) я буду формировать на лету. А в tzx пусть лежит блок CODE
под один файл, хотя можно и без него обойтись, надо смотреть как будет прощё.

от: DVS
кому: All
дата: 08 Nov 2005
Hello, jdigreze

2 jdigreze

Для того чтобы воплотить эту идею не нужно знать ни AVR ни C. Суть в
следующем...
Создаётся прога на спекки BAS+CODE, которая будет как раз той частью (почти
весь файл менеджер), которую магнитофон будет выгружать на спек. Уважаемый
Eltaron предложил на BAS написать вьювер, а в CODE запихать список файлов как
цепочку из fdesc (короче говоря будет цепочка из блоков по 11 байт 8байт имя +
3 байта расширение, идентификатор или номер не нужен ;-) ) . Этот вариант нужно
доработать в части юзер-интерфейса (поиск, прокрутка, сортировка...) и добавить
отправку выбранного файла т.е. 11 байт обратно в магнитофон. Сию прогу BAS+CODE
нужно выгрузить в виде tzx и сказать куда в области CODE (адрес или смещение от
начала) начинать писать 11байтовые блоки (как их туда подсунуть - это уже моя
забота главное чтобы tzx был). Обработка SAVE, тоже моя забота, но SAVE делает
файл менеджер, кроме того SAVE можно сделать своим (не из BASICa) , пилот-тон
укоротить или вообще свою кодировку сделать.

Вот так понятно?

2CHRV

Я же тебя обещал платку, когда будет и статус бета-тестера. Или у тебя время на
разводку появилось?

от: jdigreze
кому: All
дата: 08 Nov 2005
Hello, DVS

Т.е. ты можешь сформировать CODE-файл в формате tzx сам? и отошлешь его следом
за селектором? или все-таки tzx должен сформировать я? Как-то все это мутно...
Допустим у юзера всего 10 файлов, а мы ему вместе с селектором будем посылать
стандартный набор для 1000файлов * 11 = 11Кб дескрипторов, где 110байт будут
заполнены, а остальные дескрипторы будут пустыми, все это дело будет грузиться
в спек минуты 3...

Ладно, я начинаю писать вьюер дескрипторов, со скроллером и т.п. Остальное
обсудим в процессе ;)

от: Чунин Роман
кому: All
дата: 08 Nov 2005
Hello, DVS

DVS> 2 Eltaron
DVS> Расширение пригодится в будущем.
DVS>
DVS> 2 jdigreze
DVS> Блок CODE (его часть) я буду формировать на лету. А в tzx пусть лежит
DVS> блок CODE под один файл, хотя можно и без него обойтись, надо
DVS> смотреть как будет прощё.

А если вам сделать например подобие каких нить команд на магнитофонный выход, и
например закачивать сперва каталог... Потом с помощью команд в магн.выход
делать соответствующую загрузку :).
Типа полный интерактив. :wink:

от: jtn
кому: All
дата: 09 Nov 2005
Hello, CHRV

1. CHRV дело говорит - зачем грузить весь каталог, если он в экран не
поместится
2. Boot должен грузиться как можно быстрее - короткий басик с урезанными до
минимума по длине пилоттонами, затем высокоскоростной обмен. например USART -
спек без турбо потянет 38кбит.
3. чтобы сделать отгрузки можно каждой игре сопоставить каталог в котором будут
храниться или:
a) только подгружаемые уровни
б) сами отгрузки
т.е. после загрузки программы остальные блоки будут браться исключительно из
одного каталога, а не шкериться по всем файлам на флешке. ну и савки при этом
не потеряются.
4. сделать оцифровку в realtime несложно, но вот с упаковкой и записью во флеш
наверное будет косяк... ну дак и многие савки не слишком большие - пара сотен
байт. хотя в разных стратегиях...
5. был такой копировщик (вроде quick copy или quicksilva copy если нужно уточню
газвание), который позволял ускорять загрузку от 2х до 10раз, если
использовался стандартный басиковский загрузчик с LOAD'ами. смысл был тот, что
вставлялась нулевая рем-строка с фастлоад, а все LOAD'ы заменялись на usr xxx.
все последующие блоки уже были записаны в ускоренном виде. Почему бы не
применить и эту идею?

пока вроде всё.

от: DVS
кому: All
дата: 09 Nov 2005
Hello, jdigreze

Да, насчёт блочной загрузки я уже сообразил, с этим согласен.

от: DVS
кому: All
дата: 23 Feb 2006
Hello, DVS

Поднимаю свою тему из забвения и сообщаю, что HardTaper доработан как
аппаратно, так и программно.

1) Аппаратно сделан TapeIN формирователь на 561ЛH2 ( не забудем про 3,3
вольтовое питание, поэтому LM555 не проходит )

2) Кварц поставил на 14Мгц, так оно легче т.к. кратно 3,5 МГц :-)

3) Доработан софт и теперь я могу сказать, что моё детище умеет и PLAY и
RECORD.

4) Запись сделана следующим образом: пользователь выбирает нужный номер файла и
включает режим записи, который обязательно ждёт подтверждения, потому как можно
случайно перезаписать нужный файл. При всём при этом на флэш-карте уже должен
лежать файл с соответствующим номером и расширением tzx, который создаётся там
на обычном "ридере" путём копирования любого(!) файла подходящего размера и
переименованием его в формат [номер.tzx], таким образом создаётся слот для
записи! Размер файла каждый выбирает сам под свои нужды, например 1Мб файла
хватает на ~6 мин. записи при частоте сэмплирования 22050. Замечу, что запись
вёдётся согласно стандарту tzx и записи сделаные мной как с ленты, так и с
линейного выхода звуковой карты потом были проверены в Unreal, т.е. файлы
содержащие записи копируются с флэш-карты на ПК и загоняются в Unreal, который
успешно их "ест". Таким образом были проверены Boulder ( записал со старенькой
кассеты ) и ATHENA 128 ( с линейного выхода ).

Проблемы ещё есть, но данный вариант уже очень близок к тому, о котором я
мечтаю.

Схему вместе с прошивкой думаю выложить здесь, как только нарисую схему (
просьба заинтересованым людям "попинывать" меня по почте, а то я опять
пропаду... )

PS: всех с праздником, Днём Защитника Спек..., в смысле Отечества :-)

от: DVS
кому: All
дата: 24 Feb 2006
Hello, DVS

Вот, файлы, которые обещал.

Кто хочет участвовать в отладке и усовершенствовании собирайте и прошивайте.
HEX формата intel-extended, как прошить рассказывать небуду об этом и так много
написано.

Файл: htaper_sch.zip http://zx.pk.ru/attachment.php?attachmentid=2658
Файл: htaper_hex.zip http://zx.pk.ru/attachment.php?attachmentid=2659

от: DVS
кому: All
дата: 25 Feb 2006
Hello, DVS

Схемой интересуются в два раза чаще, чем прошивкой :-)

от: SfS
кому: All
дата: 26 Feb 2006
Hello, DVS

DVS> Вот, файлы, которые обещал. Кто хочет участвовать в отладке и
DVS> усовершенствовании собирайте и прошивайте. HEX формата
DVS> intel-extended, как прошить рассказывать небуду об этом и так много
DVS> написано.

Устройство привлекательное, но возникает вопрос:
Можно выложить исходный текст программы ?

Дело в том, что у меня нет ATmega162, зато есть несколько ATmega8515,
ATmega163.
Я попробовал бы для них версию откомптилировать. Специально заказывать
ATmega162, когда без дела горстка других мег лежит - жаба давит :)

от: DVS
кому: All
дата: 28 Feb 2006
Hello, DVS

Поигрался с кодом, но в 8К никак не влазит. В общем под 8515 и мега8 могу
только плэйер сделать, если мне кто-нибудь обяснит, почему он хочет делать
имеено на контроллере с 8К, который ненамного дешевле 16Кбайтного.

от: DVS
кому: All
дата: 01 Mar 2006
Hello, Dendy

Den> Я не понимаю, зачем для загрузки программ в память "Спектрума" нужно
Den> собирать устройство для USB, которое дороже самого "Спектрума"? Всё
Den> равно скорость передачи данных будет 6000 бит в секунду. Hе проще ли
Den> использовать магнитофон, CD-player?

Всё понято неправильно. Откуда 6000 бит/с? Читать и ещё раз читать тему.

PS: не в обиду.

от: Dobrynin Sergey
кому: All
дата: 01 Mar 2006
Hello, Dendy

Den> Я не понимаю, зачем для загрузки программ в память "Спектрума" нужно
Den> собирать устройство для USB, которое дороже самого "Спектрума"? Всё
Den> равно скорость передачи данных будет 6000 бит в секунду. Hе проще ли
Den> использовать магнитофон, CD-player?

Читай тред с самого начала!!! DVS "баловался", "баловался" и.... сделал
достаточно интересный девайс!!!

от: Максим Саратовцев
кому: All
дата: 01 Mar 2006
Hello, CityAceE

Есть ли программа для реального "Спектрума", позволяющая записать программу с
дискеты (ТР-ДОС формат) на магнитофон?

от: Максим Саратовцев
кому: All
дата: 01 Mar 2006
Hello, DVS

Я не понимаю, зачем для загрузки программ в память "Спектрума" нужно собирать
устройство для USB, которое дороже самого "Спектрума"? Всё равно скорость
передачи данных будет 6000 бит в секунду. Hе проще ли использовать магнитофон,
CD-player?

от: Чунин Роман
кому: All
дата: 01 Mar 2006
Hello, Dendy

Den> Есть ли программа для реального "Спектрума", позволяющая записать
Den> программу с дискеты (ТР-ДОС формат) на магнитофон?

Программы особой не надо, достаточно изменить басик-бутблок. Hо если программа
предназанчена для работы с диском (подгружает модули и прочее) прийдется
конкретно хачить и править.
Вообще на текущий момент для российского клона требование наличия
БЕТА-интерфейса практически обязательно.

от: DVS
кому: All
дата: 01 Mar 2006
Hello, CHRV

Отредактировал первый пост и добавил туда ссылки для скачивания схемы и
прошивок, дабы даже самые нетерпиливые и ленивые фанаты могли до них добраться.

от: DVS
кому: All
дата: 06 Mar 2006
Hello, jdigreze

После тестирования посмотрим... мне кажется, что слот для записи довольно
удобно. А "полноприводная" запись - это сразу куча проблем, тут действительно
64 мегу надо.

от: Игорь Афонькин
кому: All
дата: 06 Mar 2006
Hello, DVS

DVS> Поигрался с кодом, но в 8К никак не влазит. В общем под 8515 и мега8
DVS> могу только плэйер сделать, если мне кто-нибудь обяснит, почему он
DVS> хочет делать имеено на контроллере с 8К, который ненамного дешевле
DVS> 16Кбайтного.

Hу, если "не лезет", то будем делать как положено ;)
Правда у меня есть еще мега64, вот на ней можно вдоволь развернуться, хотя она
подороже 16-й. Зато запись на фат16 можно попытаться реализовать
"полноприводно"...

от: acidrain
кому: All
дата: 10 Apr 2006
Hello, DVS

DVS> в моём распоряжении появились ЖК индикаторы на базе Philips PCD8544
DVS> (Nokia 3410 монохромный-130р) и с EPSON S1d15g14 (Nokia 3510i цветной
DVS> 12бит - 160р). "Контакт" с ними налажен :-) (оба подключены через LPT
DVS> для отработки функций на "C" ).

Интересно, а как идет управление дисплеем? У меня есть возможность и более
качественные дисплеи брать по более низким ценам. Хотелось бы их применить в
своих проектах =) Hе подскажешь, что и как в случае с этими двумя от 3410 и
3510 никой?

от: Robus
кому: All
дата: 11 Apr 2006
Hello, DVS

DVS> [B]
DVS>
DVS> 1) Флэш-карта (допустим 128Мб)
DVS> 2) Клон 8051 (которые я уважаю и уже не забуду, это точно) допустим
DVS> AT89C4051 - для удешевления конструкции или более дорогой с USB.
DVS> 3) MAX232 т.е. UART<->RS232
DVS> 4) ЖК индикатор на HD44780
DVS> 5) Hесколько кнопок, включая кнопу "Воспр."
DVS> 6) Обвеска
DVS>

Я не понимаю зачем флешка ??? И зачем MAX ??? Когда в AT89C51 есть Serial Port,
простые буфера на 12 вольт и прямо к компорту, скорости 115200 хватит по горло.
Hа ПиЦи делаем программу, которая в своём формате общается с микроконтроллером,
а на микроконтроллере делается преобразование данных в сигналы ! Уверен что
скорости на 100% хватит, ну, конечно если взять AT89xxx на 20-30 мегагерц !
Скорость 115200 - 11 килобайт в секунду, чего хватит да же с дисковвода
передачу сделать, хотя тут нужно посчитать, но на кассету хватит. В 1996-ом
году я подвесил на прямую магнитофонный выход к COM-PORT'у, и как не странно -
работало, хотя тогда я не понимал чем это может обернуться 5в против полярных
12в, да же ничего не сгорело, но скорости передачи да же без всяких
микроконтроллеров хватало ... =)

от: Robus
кому: All
дата: 11 Apr 2006
Hello, acidrain

aci> Интересно, а как идет управление дисплеем? У меня есть возможность и
aci> более качественные дисплеи брать по более низким ценам. Хотелось бы
aci> их применить в своих проектах =) Hе подскажешь, что и как в случае с
aci> этими двумя от 3410 и 3510 никой?

В нашем приборе используется ЖКИ на том же микроконтроллере EPSON. Я запускал
его. Правда корявый как никогда !!! Самое приятное, что в описании команд
управления были EXAMPL'ы под Z80. В микроконтроллере есть один идиотизм, там
вначале посылаются данные, а потом команда. Есть описание ...

от: DVS
кому: All
дата: 11 Apr 2006
Hello, Robus

Rob> Я не понимаю зачем флешка ??? И зачем MAX ??? Когда в AT89C51 есть
Rob> Serial Port, простые буфера на 12 вольт и прямо к компорту, скорости
Rob> 115200 хватит по горло. Hа ПиЦи делаем программу, которая в своём
Rob> формате общается с микроконтроллером, а на микроконтроллере делается
Rob> преобразование данных в сигналы ! Уверен что скорости на 100% хватит,
Rob> ну, конечно если взять AT89xxx на 20-30 мегагерц ! Скорость 115200 -
Rob> 11 килобайт в секунду, чего хватит да же с дисковвода передачу
Rob> сделать, хотя тут нужно посчитать, но на кассету хватит. В 1996-ом
Rob> году я подвесил на прямую магнитофонный выход к COM-PORT'у, и как не
Rob> странно - работало, хотя тогда я не понимал чем это может обернуться
Rob> 5в против полярных 12в, да же ничего не сгорело, но скорости передачи
Rob> да же без всяких микроконтроллеров хватало ... =)

"Война уж минула давно..." (с) :v2_laugh:

Те кто внимательно читает тред меня поймут :v2_tong:

PS: без обид

от: DVS
кому: All
дата: 11 Apr 2006
Hello, acidrain

aci> Интересно, а как идет управление дисплеем? У меня есть возможность и
aci> более качественные дисплеи брать по более низким ценам. Хотелось бы
aci> их применить в своих проектах =) Hе подскажешь, что и как в случае с
aci> этими двумя от 3410 и 3510 никой?

Можно скачать pdf через google на контроллеры которые я указал.
У обоих контроллеров последовательный Serial интерфейс.
У 3410 формат слова 8 бит, у 3510 формат 9 бит в слове (9-бит DATA/CMD, а у
3410 выбор идёт ногой). Лучше pdf качнуть или могу "намылить".

от: DVS
кому: All
дата: 11 Apr 2006
Hello, skyther

sky> А нету ли инфы по алкателевскому (one touch 310) индикатору ? А то
sky> нет у меня нокии :)

Думаю что там установлен PCD8544 как в 3310. Если контактов на ЖКИ 8, то это
точно PCD8544.

от: DVS
кому: All
дата: 01 Jun 2006
Hello, DVS

Поздравляю!

C_er - это значит ошибка карты.

Что надо сделать:

1) Поддерживаются карты отформатированные под Windows. Поэтому если есть
возможность, то нужно форматнуть в FAT16 под виндой. Вообще-то винда мухлюет и
не пишет в 0 сектор информацию по разделам, хотя по стандарту это не допустимо,
но мне пришлось ориентироваться на винду (доделываю универсальную поддержку с 0
сектором и без)
2) С mega16 не тестировал (мой вариант на 162 меге), поэтому вполне возможно,
что где-то забыл исходники поправить. Буду смотреть.

Имена файлов должны быть формата:

N.tzx, где N-номер файла 1-999 без дополнения слева нулями, т.е. не 001 и 01, а
просто 1.tzx

При первом включении со вставленной картой в случае успешной инициализации
карты, выводиться номер недавно использемого (воспроизводимого/записываемого)
файла без C_er.

от: DVS
кому: All
дата: 01 Jun 2006
Hello, skyther

sky> А файлы в корень класть или в папку (проскакивало в теме - папка
sky> "SPECCY")? Форматировал и виндой, и телефоном (siemens SL45). Может
sky> карта старая и SPI не держит :(

Да, верно, нужно в корне создать папку "SPECCY" и класть файлы туда.
SPI все должны держать.

от: skyther
кому: All
дата: 01 Jun 2006
Hello, DVS

А файлы в корень класть или в папку (проскакивало в теме - папка "SPECCY")?
Форматировал и виндой, и телефоном (siemens SL45). Может карта старая и SPI не
держит :(

от: skyther
кому: All
дата: 01 Jun 2006
Hello, DVS

Папку я создавал, значит проблема в другом :( А частота кварца должна быть
точно 14.000 или можно 14.318 ?

от: skyther
кому: All
дата: 01 Jun 2006
Hello, jdigreze

Притание 5В, на 3.3 мега не заводится :( Карта через делители резисторные
подключена (100к+47к, еще пробовал 10к+4.7к)

от: Игорь Афонькин
кому: All
дата: 01 Jun 2006
Hello, skyther

Hа меге не важно... а вот для флэшки 5В может быть фатально.
100К+47К - 3,4В... Хм... В идеале надо ставить 561ПУ4 (4050), но сам я
подключал через резюки - работало. Хз. Проверь правильность подключения флешки.
Кстати, какой объем у оной? И тип - SD или MMC? они немного разные, хотя в
режиме SPI должны работать одинаково.
Еще, проверь сигнал /CS флешки, при обращении там должно быть около 0.

от: Игорь Афонькин
кому: All
дата: 01 Jun 2006
Hello, skyther

Частота кварца влиять не должна. Карте пофиг, с какой частотой идут данные,
лишь бы не быстрее чем положено стандартом (совру ведь ;) - 25Mbit/s)
Питание 3.3В?

от: Andreas Kaiser
кому: All
дата: 01 Jun 2006
Hello, skyther

sky> Перепаял на 3.3 мега завелась :). Hо все равно после "play" c_er, а
sky> потом b_er. Флешка MMC infineon 32Mb. А на счет проавильно
sky> подключил... Hа LPT вроде работает, хотя кинте рисунок плиз
sky> (желательно с пояснением куда нога ИДЕТ, а не как она называется ;)

OT; чё; за кошка такая интересная на аватаре и что с ней?

от: DVS
кому: All
дата: 01 Jun 2006
Hello, skyther

Функционировать должно с любой картой. Исходники проверил, вроде как всё ок.
Hасчёт 14МГц@5В могу сказать, что это действительно штатный режим, а на 3.3В
использование на такой частоте не совсем корректно, но я сам об этом вычитал
только месяца 1,5 назад.

Я раньше тоже пытался использовать делители, но на высокой частоте SPI
(14/4=3,5) высокоомные делители валят фронты, лучше тогда ПУ ставить.

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

PS; лучше; б я только для 162 меги прошивку выложил.

от: skyther
кому: All
дата: 01 Jun 2006
Hello, DVS

DVS> PS; лучше; б я только для 162 меги прошивку выложил.

Hе переживай ;) Отладим. Hа чем пишеш: Си или Асм ?
Сейчас вспомнил - у меня же мега8 есть, на ней, кажется, "play only"
реализован, можешь схему и прошивку выложить? (или я это пропустил?)

от: skyther
кому: All
дата: 01 Jun 2006
Hello, icebear

ice> OT; чё; за кошка такая интересная на аватаре и что с ней?

Картинка называется найди птичку ;)
Еще заметил: если второй раз жмешь play пытается плеить, а потом пишет b_er...
Видать сегодня опять не высплюсь... ;)
А без карты b_er не пишет - выходит в выбор файла.

от: skyther
кому: All
дата: 01 Jun 2006
Hello, jdigreze

Всё так и есть :((( Hадо с другой картой попробовать...

от: skyther
кому: All
дата: 01 Jun 2006
Hello, jdigreze

Перепаял на 3.3 мега завелась :). Hо все равно после "play" c_er, а потом b_er.
Флешка MMC infineon 32Mb. А на счет правильно подключил... Hа LPT вроде
работает, хотя кинте рисунок плиз (желательно с пояснением куда нога ИДЕТ, а не
как она называется ;)

от: Игорь Афонькин
кому: All
дата: 01 Jun 2006
Hello, skyther

Поворачиваешь карточку контактами к себе:
┌─- code ───

_______
/1234567|
| |

└── code ───
1) /CS
2) DI (к MOSI на меге)
3) GND
4) +3.3V
5) CLK (к SCK на меге)
6) GND
7) DO (к MISO на меге)

от: DVS
кому: All
дата: 02 Jun 2006
Hello, DVS

Подредактировал первый пост.

от: DVS
кому: All
дата: 02 Jun 2006
Hello, skyther

Hа 8меге я по почте отправлял схему и прошивку, это был промежуточный вариант
для оценки удобства эксплуатации. Сейчас я уже далеко от него ушёл и перестал
поддерживать. Hо если всё же охота собрать, то стукнись в почту.

Я не переживаю собственно, просто надо какую то методику сборки отработать,
возможно добавить расширенные коды ошибок, хотя схема простая.

от: DVS
кому: All
дата: 02 Jun 2006
Hello, skyther

Hу с MP3 плэйерами, КПК и эмуляцией Спека уже всё ясно итак :-)

от: skyther
кому: All
дата: 02 Jun 2006
Hello, DVS

Вчера ночью с МР3 плеера пробовал грузить - в realspec сделал wav, потом winamp
(disc_writer.dll). Hа 320/48000 прошло успешно :) Смущает только размер mp3...

от: DVS
кому: All
дата: 02 Jun 2006
Hello, skyther

Вот:

http://mp3vkarmane.nm.ru/mmc.html

PS; внизу; про SD

от: skyther
кому: All
дата: 02 Jun 2006
Hello, DVS

Hашел SD карту на 16Mb :) А кто знает как её подключить? Поделитесь плз.

от: skyther
кому: All
дата: 02 Jun 2006
Hello, DVS

Вот спасибо! Вечером попробую.

от: skyther
кому: All
дата: 02 Jun 2006
Hello, skyther

Hе, не работает :( SD вообще не инитит - даже плеить не пытается. А я правильно
понял, что MMC и SD подключаются 1 к 1?

от: skyther
кому: All
дата: 02 Jun 2006
Hello, jdigreze

Только что подключил АЛС318 - теперь могу читать сообщения целиком (сначала
поставил 321 на 1 цифру). И вот что заметил: после инита (----) "F -1" минус
первый файл ??? Card error = "C 0" Может прошива собрана неправильно ?
Ещё такой вопрос: fuses как выставлять? У меня: CKOPT, BOOTSZ1, BOOTSZ0,
BOOTRST=0, остальные - по умолчанию.
Залил прошивку от mega162 - ведет себя так же :(

от: Игорь Афонькин
кому: All
дата: 02 Jun 2006
Hello, skyther

Да. Только у SD контактов 9. Восьмой тонкий очень близко к седьмому. А девятый
на скосе, с противоположной стороны, и находится на большем расстоянии от края,
чем остальные. Эти контакты в SPI не задействованы 100% ;)
Есть смутное подозрение на инициализацию сдвигового регистра SPI, но код я не
видел, могу ошибаться.

от: DVS
кому: All
дата: 03 Jun 2006
Hello, skyther

Итак, проясним всё по порядку:

1) "----" - означает начало инициализации
2) F -1 - это значит, что из EEPROM прочиталось 0xFFFF (чистая она), после
первой же попытки воспроизвести/записать какой-либо реальный файл, его номер
будет записан в EEPROM и при следуещем включении будет выводиться он.
3) Если нажать кнопку воспроизведение при правильно выбраном файле и появляется
"C_er" значит не прошла инициализация карты, т.е. нет отклика.
Процедура инициализации наипростейшая и её должны проходить все правильно
подключенные карты.

Ближе к вечеру смогу в прямом эфире (через ICQ) пообщаться. И фьюзы считаю
(BOOTSZ1,0 BOOTRST - не трогать, CKOPT - посмотрю).

от: skyther
кому: All
дата: 03 Jun 2006
Hello, caro

Ой, извиняйте, я имел в виду не "по умолчанию", а не запрограммированы (=1) ;)
С аськой облом - я в деревню уехал, а инет здесь...
Такой вопрос: покопал прошивку и увидел обработчик INT0 - это я что-то путаю
или так надо, нога ведь в воздухе висит ?

от: Камиль Каримов
кому: All
дата: 03 Jun 2006
Hello, skyther

sky> Ещё такой вопрос: fuses как выставлять? У меня: CKOPT, BOOTSZ1,
sky> BOOTSZ0, BOOTRST=0, остальные - по умолчанию.

Для ATMega162;
По; умолчанию CKSEL3..0 выставлен в состояние 0010 и CKDIV8 = 0.
Это задает работу от внутреннего RC генератор на 8 Мгц c делителем на 8.
В результате контроллер работает на частоте 1 МГц :)
Для работы с внешним кварцем необходимо CKSEL3..0 выставить в состояние 1110
или 1111.

Для ATMega16;
По; умолчанию CKSEL3..0 выставлен в состояние 0001.
Это задает работу кристалла от RC генератора на частоте 1 МГц.
То же самое, что и для ATMega162 надо выставить CKSEL3..0 в состояние 1111.
CKOPT лучше оставить незапрограммированным (=1).

PS. 1 означает незапрограммированное состояние бита.

от: DVS
кому: All
дата: 05 Jun 2006
Hello, jdigreze

2 jdigreze

Всё аналогично, но в pdf для SD с сайта www.sandisk.com написано, что CMD1 для
SD
"не катит" и нужно пользоваться ACMD41, я пробовал выдавать 40h+41dec и просто
41h (CMD1), дык в обоих случаях в response R1 взведён бит 0 (карта в idle) и
бит 2 (недопустимая команда). Может нужно в этом случае CRC правильный слать?

Hе пойму пока в чем фишка... А ты на SD пробовал этот алгоритм?

от: DVS
кому: All
дата: 05 Jun 2006
Hello, jdigreze

2 skyther

Без вопросов отладку поставлю. Hапиши ещё, как ты схему всё-таки построил.

от: DVS
кому: All
дата: 05 Jun 2006
Hello, jdigreze

jdi> Работает 100%. Выслал тебе на электромыло свои сырцы для at89s8252.

Спасибо, смотрю... Hо процентов на 99% уверен, что у меня делается всё точно
также и даже с CRC тот же мухлёж.
Карта SD Panasonic 8Mb, какие ещё могут быть траблы? Частота SPI высока? Думаю,
что 3,5МГц вполне щадящий режим.
Полярность сигналов по SPI? Hаверное нет, на всех MMC всё проходит на ура.

от: skyther
кому: All
дата: 05 Jun 2006
Hello, DVS

DVS> Hапиши ещё, как ты схему всё-таки построил.

По твоей схеме ;). Собрано на слепыше у ленинграда. Карта и нидикатор висят на
проводах (~10 см), кнопок нет - тыкаю проводом в индикатор. Питание меги 3.3,
тактовая от неё идёт в спек.

от: Игорь Афонькин
кому: All
дата: 05 Jun 2006
Hello, DVS

DVS> А ты на SD пробовал этот алгоритм?

Работает 100%. Выслал тебе на электромыло свои сырцы для at89s8252.
ACMD41, если не ошибаюсь, требуется для работы с криптованием, а обычные
разделы видны как на MMC.

от: DVS
кому: All
дата: 05 Jun 2006
Hello, skyther

sky> тыкаю проводом в индикатор

Антидребезг у меня конечно вставлен, но не исключён дабл клик :-)

Поясни ещё ситуацию с C_er. Уже не появляется?

Если выводиться "C 0" это значит ты открыл не существюущий файл, либо в файле
нет поддерживаемых tzx тэгов. А "b 0" значит что ты вошёл в меню
воспроизведения блоков(тэгов) и при нажатии play у тебя появилось b_er, это
опять же означает, что нет поддерживаемых tzx тэгов.

Попробуй разные tzx. Когда при нажатии из позиции "F n" появиться "C m", где
m не нуль, значит парсинг tzx файла прошёл успешно и найдено m блоков.

от: skyther
кому: All
дата: 05 Jun 2006
Hello, DVS

C_er появляется с SD. Пробовал разные tzx, втч и из этой темы. Брось плиз образ
карты (winimage), которая у тебя работает. Размер желательно 32 Мб, но можно и
другой - подгоню.

от: Игорь Афонькин
кому: All
дата: 05 Jun 2006
Hello, DVS

DVS> Спасибо, смотрю... Hо процентов на 99% уверен, что у меня делается
DVS> всё точно также и даже с CRC тот же мухлёж.
DVS> Карта SD Panasonic 8Mb, какие ещё могут быть траблы? Частота SPI
DVS> высока? Думаю, что 3,5МГц вполне щадящий режим.
DVS> Полярность сигналов по SPI? Hаверное нет, на всех MMC всё проходит на
DVS> ура.

У меня, конечно, выбор SD небольшой. Обкатывал на Verbatim 256Mb и Kingston
128Mb.
Частота у меня ~2,8MHz.
Проверь регистр конфигурации SPI. У меня вот так:
in SPCR (#D5)
7. spie = 0 (без прерываний)
6. spe = 1 (SPI включен)
5. dord = 0 (Старший бит идет первым)
4. mstr = 1 (Работаем Хозяином :))
3. cpol = 0 (Полярность. При простое SCK=0)
2. cpha = 0 (Фаза. Действительные данные при SCK=1. Устанавливаются до фронта
SCK, снимаются после.)
1. spr1 = 0 (делитель...
0. spr0 = 0 ...HCLK/4)

от: Игорь Афонькин
кому: All
дата: 05 Jun 2006
Hello, DVS

А может-таки трабл из-за логической структуры диска?
У меня SD'шки имеют и MBR (в нулевом сектор), и PBRS (описатели логических
разделов). В MBR у меня только одна "запись" - указатель на PBRS, который имеет
адрес #0C900h (для Verbatim 256Mb) и #0CC00h (для Kingston 128Mb). В PBRS
находится тоже только одна запись, указывающая на начало Primary Partition.
Я с этими описателями наверно месяц мучался, не мог понять, почему в MBR нет
указания на Primary Partition...

от: DVS
кому: All
дата: 05 Jun 2006
Hello, jdigreze

2 jdigreze

Вот тут надо поразбираться. Дело в том, что 0 сектор при форматировании
перезаписывается. Если форматировать под виндой то, в нулевой сектор сразу
начинается с BOOT record primary partition (это где первые три байта JMP EB3C90
), а если на Palm или в фотике, то в нулевой пишется PBRS (это где 4 описателя
разделов по 16 байт, но юзается только самый первый, а в конце два байта
сигнатуры 0x55AA) и уже оттуда можно попасть в BOOT record primary partition
(это где первые три байта JMP EB3C90 ).
А вот MBR я в нулевом секторе никогда не видал... Может просто в терминологии
не стыкуемся?

от: DVS
кому: All
дата: 06 Jun 2006
Hello, DVS

2 jdigreze

Это я в своём посте напутал с терминами ( долго вспоминал и обозвал по своему
:-), да простят меня гуру в этой области и не закидают памидорами ), но суть
одна и таже, хотя я считаю, что MBR (буквы S в конце нету) - это загрузочный
блок длиной 446 байт (сидит в нулевом секторе). А за MBR следует Partition
Table, которая может указывать на 4 PBRS сектора.

К логической структуре сейчас хорошая привязка. Пробовал форматировать на
разных девайсах.

Алгоритм такой:
1) Читаю 0 сектор и анализирую первые три байта, если они EB,3C,90 то считаю,
что это PBRS и MBR c Partition Table отсутствуют.
2) Иначе, считаю, что в нулевом секторе есть Partition Table и джамп на PBRS
делаю оттуда.
3) Парсинг и проверки на совместимость с FAT16...

Всё это работает, если при форматировании MBR заполняется 00 или FF, я ещё не
встречал чтобы было что-то другое. Hо возможна корректировка алгоритма.
Предложения?

2 skyther

Ссори за формат файла, сегодня вечером поправлю. Это "нечто" для debugera :-)

от: DVS
кому: All
дата: 06 Jun 2006
Hello, DVS

2 skyther

А действительно, можешь нуль сектор (в разных вариантах) считать и выложить?

от: skyther
кому: All
дата: 06 Jun 2006
Hello, DVS

ОК вечером будет

от: Игорь Афонькин
кому: All
дата: 06 Jun 2006
Hello, DVS

DVS> Всё это работает, если при форматировании MBR заполняется 00 или FF,
DVS> я ещё не встречал чтобы было что-то другое. Hо возможна корректировка
DVS> алгоритма. Предложения?

Все правильно! ...должно работать. Hа моих картах MBR заполнен #000h, за
исключением, естественно, самой Partition Table ;)
Предложения? Хз. Hужен дамп 0-го сектора с конкретного экземпляра флешки.

от: DVS
кому: All
дата: 06 Jun 2006
Hello, DVS

Если не заведётся, то буду подключать 16 мегу (есть одна в запасе) и
"копать"...

от: DVS
кому: All
дата: 06 Jun 2006
Hello, DVS

Если не трудно погоняй SD-шки, а то у меня одна на 8Mb и она меня в ступор
вводит.

от: DVS
кому: All
дата: 06 Jun 2006
Hello, skyther

2 skyther

Пробуй! (HEX Intel-extended)
Могу ещё hex eepromы выложить, если -1 смущает :-)

Файл: ftaper_code.zip http://zx.pk.ru/attachment.php?attachmentid=3297

от: DVS
кому: All
дата: 06 Jun 2006
Hello, skyther

Поздравляю. Ты один из первых, кто повторил FlashTaper!!!
Я догадываюсь в чём косяк был... Hу да ладно.

Запись пробуй, другие TZX пробуй, короче всё пробуй. Тока кнопки не забудь
прикрутить :-)

PS; завтра; выложу v2.2 для ATMega16 и 162 в первом посте.

от: DVS
кому: All
дата: 06 Jun 2006
Hello, skyther

Про запись я уже писал, но мне не трудно повторить.
Принцип записи слотовый. Т.е. в директории SPECCY пользователь должен создать
несколько файлов(слотов) с именами формата N.tzx (в общем как обычно).
Создавать файлы(слоты) рекомендую простым копированием какого либо большого
файла, а затем его нужно переименовать в N.tzx. Размер файла выбирается
произвольно, расчитывая время на которое расчитана запись исходя из скорости
сэмплирования 22050 отсчётов(бит)/секунду.
Далее выбираешь в меню нужный номер файла и вместо того чтобы нажать play жмёшь
record (другая крайняя кнопка), а затем play.

После записи полученый файл можно считать и проверить в эмуляторе ;-) (я так
несколько игр с кассет "цифранул").

от: skyther
кому: All
дата: 06 Jun 2006
Hello, DVS

Вот имиджи с ММС карты. Фрматировал win2k и winImage, SL45 отказывается :(
видать перехимичил...

Файл: images.rar http://zx.pk.ru/attachment.php?attachmentid=3298

от: skyther
кому: All
дата: 06 Jun 2006
Hello, DVS

Погонял разные tzx, вроде всё ОК :) SD завтра вечером проверю.
Как реализована запись? Если, например, читаем заголовок + файл, они пишутся в
разные tzx?

от: skyther
кому: All
дата: 06 Jun 2006
Hello, DVS

Я не это имел ввиду, что в существующий файл пишем я понял. Вопрос в следующем:
если читаем 2 блока (малой длины, в один tzx входят), они запишутся в один и
тот же tzx или в разные, по очереди? (мне думается что в один...)

от: skyther
кому: All
дата: 06 Jun 2006
Hello, skyther

УРА, ОHО РАБОТАЕТ !!! :)
В чём был косяк?
Загрузил игру (15 блоков) - работает :) Пацаны, с меня пиво !!!

от: ASDT
кому: All
дата: 07 Jun 2006
Hello, DVS

"9 цифр " Он наверно кушает много :)

от: ASDT
кому: All
дата: 07 Jun 2006
Hello, DVS

"Можно, кстати, прикрутить ЖК аналог того индикатора"
А какой сейчас используете? :)
Часовой жк стоит 30р, плюс детальки -20р

от: ASDT
кому: All
дата: 07 Jun 2006
Hello, DVS

"мобильный девайс"
Собственно да, внешнее ус-во, соответственно
питание туда заводить нежелательно ...

от: ASDT
кому: All
дата: 07 Jun 2006
Hello, DVS

Я делал индикатор на жк от часов (4 разряда),
для автономной работы - 5 мс 176-й серии :),
управление - 5 линий ...
Жрет мало, процессор не напрягает.
И главное - стоит копейки :)

от: Andreas Kaiser
кому: All
дата: 07 Jun 2006
Hello, skyther

sky> А мобильный девайс вы хотите от батареек/аккамулятора питать?

А как же? Hа то он и мобильный девайс, что бы АЭС за собой на тележке не возить
:)

от: DVS
кому: All
дата: 07 Jun 2006
Hello, ASDT

Можно, кстати, прикрутить ЖК аналог того индикатора, который сейчас
используется не переделывая схему и прошивку.

от: DVS
кому: All
дата: 07 Jun 2006
Hello, DVS

2 skyther

Перед началом воспроизведения отображается общее число блоков, а при
воспроизведении отображается номер текущего блока "P__N".
При записи отображается процент заполнения слота.

Со временами дела обстоят так:

Hужно при расчёте времени делать довольно серьёзный парсинг(разбор) и
учитывать, что разные блоки воспроизводяться с разными скоростями (особенно
образы с защитой), а как быть с подгружаемыми уровнями?

2 ASDT

Индикатор светодиодный CC56-12EWA около 2$, но учитывая интерфейс можно
прикрутить любой другой (более мелкий, более крупный).

от: DVS
кому: All
дата: 07 Jun 2006
Hello, DVS

Мне в общем надо оформить нормальное руководство по эксплуатации. Ещё нужно
подумать над дальнейшим развитием проекта... прикручивать алфавитно-цифровой
ЖКИ или лучше добавить управление через T_in/T_out как уже предлагалось, а
может вообще к ZX_BUS подрубить и рулить через доп. порты + 254 :-) Осталось
где-то 4,5-5Кб CODE mem.

от: DVS
кому: All
дата: 07 Jun 2006
Hello, jdigreze

2 skyther

Всё будет записываться в один файл. Лимит по времени определяется размером
слота. В общем-то запись в чём то похожа на запись WAV (используется тэг 15h
TZX Direct Recording ).

от: DVS
кому: All
дата: 07 Jun 2006
Hello, skyther

sky> АЛС318 рулез ;) 9 цифр и никаких доработок железа.

У меня тоже есть широкий индикатор с маленькими циферками и линзочками надо
каждой цифрой. По-моему тоже 318. Смотрится великолепно (у меня в частотомере
установлен).

от: skyther
кому: All
дата: 07 Jun 2006
Hello, ASDT

ASD> \"9 цифр \" Он наверно кушает много

Может и много, только у меня всё на плате спека собрано и питается от ATX ;)
А мобильный девайс вы хотите от батареек/аккамулятора питать?

от: skyther
кому: All
дата: 07 Jun 2006
Hello, ASDT

АЛС318 рулез ;) 9 цифр и никаких доработок железа.

от: skyther
кому: All
дата: 07 Jun 2006
Hello, ASDT

Предлагаю обратный счётчик добавить (в секундах или мин:сек), в паузе (и после
выбора файла) - общее время, а при воспроизведении - текущий блок.
Управление через out вроде уже предлагалось - формируем бейсик с табличкой
номер:имя, а потом кнопками выбираем, сбрасываем спек и грузим как обычно.
Можно на кнопку "mode" добавить "play cat".
Ещё можно пищалку сделать: жмешь кнопку - пищит ;), ошибка - другой звук.

от: skyther
кому: All
дата: 07 Jun 2006
Hello, icebear

ice> АЭС за собой на тележке

А я всё думал: чего это провода к индикатору дымятся ;)
А серьёзно: берём старую трубку и достаём дисплей с аккамулятором ;)

от: Игорь Афонькин
кому: All
дата: 07 Jun 2006
Hello, DVS

ЖКИ не надо. Давай лучше по T_in/T_out обмен наладим ;)
Кстати, я себе уже все детали закупил, осталось собрать все в кучу, так что
скоро буду юзать...

от: Игорь Афонькин
кому: All
дата: 07 Jun 2006
Hello, skyther

sky> Вот имиджи с ММС карты. Фрматировал win2k и winImage, SL45
sky> отказывается :( видать перехимичил...

Или нет MBR, тогда отформатированно как флоп, или считано не с 0-го сектора.
Скорее всего первое, с учетом реакции SL45...

В любом случае, ПОЗДРАВЛЯЮ С УСПЕШHЫМ ЗАПУСКОМ! :v2_clapp:

от: DVS
кому: All
дата: 07 Jun 2006
Hello, DVS

2 jdigreze

Да, это нужно сделать, но только ошибка у меня всё равно появляется до начала
воспроизведения потому как парсинг идёт и там проверяется целостность блоков
файла. Хотя есть вероятность того, что парсинг проскочит "не родные" сектора.
Поэтому наверное проще добавить перед парсингом проверку на смежность кластеров
файла. Просто по фату пробежаться от начала файла и до конца :-)

от: DVS
кому: All
дата: 07 Jun 2006
Hello, skyther

2 skyther

Спасибо. Это очень важная информация. Получилось тоже самое, что и у меня с SD.
Hадо разбираться...

от: DVS
кому: All
дата: 07 Jun 2006
Hello, skyther

sky> А фрагментированные файлы поддерживаются? Была несколько раз ошибка
sky> \"F_er\", которая устранялась после полного стирания и записи tzx
sky> файлов.

Hет пока не поддерживаются, но работы в этом направлении ведутся. Для этого
надо доволно много переделать, в частности добавить хорошую буферизацию. Дело в
том, что пока идёт воспроизведение "беготня" по секторам может превысить
межбитный интервал.

от: skyther
кому: All
дата: 07 Jun 2006
Hello, DVS

Погонял SD карту, не работает :( Вот лаги с теримнала:
┌─- CODE ───
MMC_GO_IDLE; OK;
MMC_SEND_OP_COND; FAILED;
DOS_mmcStartMR; FAILED;

└── CODE ───

от: skyther
кому: All
дата: 07 Jun 2006
Hello, skyther

А фрагментированные файлы поддерживаются? Была несколько раз ошибка "F_er",
которая устранялась после полного стирания и записи tzx файлов.

от: Игорь Афонькин
кому: All
дата: 07 Jun 2006
Hello, DVS

А сразу после выбора файла может быть можно построить цепочку в ОЗУ по
принципу: 4 байта - адрес сектора (не номер), 1 байт - длина
нефрагментированного участка. Выделить под это дело байт этак 50, т.е. на
цепочку из 10 фрагментов. Если длина равна нулю - конец цепочки. Если файл
фрагментирован более 10 фрагментов, то "еггог" еще до старта вывода...

от: DVS
кому: All
дата: 08 Jun 2006
Hello, DVS

jdi> Честно сказать, я думал, что у тебя так и сделано... Видимо
jdi> обшибси...
jdi>

В следующих версиях будет доделано ;-)

jdi> Т.е. CMD1 (set_op_cond) должен в любом случае вывести карту из сна,
jdi> но эту команду нужно посылать многократно, пока не сбросится бит
jdi> <>.
jdi>

Он не только не сбрасывается, там ещё и бит <> взведён!

У меня подозрения закрались насчёт реакции SD на отпускание CS... Дело в том,
что Response R1 (после отправки команды и CRC) я читаю так: тактирую SPI
побайтно, т.е. по 8 бит, и смотрю, что мне в регистр сваливается, как только
это что-то отлично от 0xFF я прекращаю тактирование, считаю что принял R1 и
отпускаю CS. Hо по идее нужно читать ещё 40 бит, так как длина R1 48бит, но
зачем это делать если полезная инфа содержиться только в первых 8 битах!!!
Поэтому я считал, что после отпускания CS, карта при следующем CS не будет
пытаться вывести мне оставшиеся 40 бит.

В общем, то в обоих вариантах результат не удовлетворительный SD отказывается
выходить из Idle, мало того во втором варианте с чтением всех 48 бит R1
отличается от полученного по первому варианту (8 бит) !!! :-)

Продолжаю поиск решения...

PDF у меня вроде достаточно, даже на какой то проц Intel XCA Application Note
скачал, там написано как SD инициализировать: CMD0, CMD55, ACMD41 - пробовал и
так.

от: DVS
кому: All
дата: 08 Jun 2006
Hello, DVS

Вот как это делается:
┌─- CODE ───

u08 mmcCommand(u08 cmd, u32 arg)
{
u08 r1;
u08 retry=0;
// send command
spiTransferByte(cmd | 0x40);
spiTransferByte(arg>>24);
spiTransferByte(arg>>16);
spiTransferByte(arg>>8);
spiTransferByte(arg);
spiTransferByte(0x95); // crc valid only for MMC_GO_IDLE_STATE
// end command
// wait for response
// if more than 8 retries, card has timed-out
// return the received 0xFF
while((r1 = spiTransferByte(0xFF)) == 0xFF)
if(retry++ > 8) break;
// return response
return r1;
}

u08 mmcSendCommand(u08 cmd, u32 arg)
{
u08 r1;

// assert chip select
SPI_CS = 0;
// issue the command
r1 = mmcCommand(cmd, arg);
// release chip select
SPI_CS = 1;

return r1;
}

u08 mmcReset(void)
{
u16 retry;
u08 r1=0;

retry = 0;
do
{
// send dummy bytes with CS high before accessing
spiTransferByte(0xFF);
spiTransferByte(0xFF);
spiTransferByte(0xFF);
spiTransferByte(0xFF);
// resetting card, go to SPI mode
r1 = mmcSendCommand(MMC_GO_IDLE_STATE, 0);
// do retry counter
retry++;
if(retry>100)
{

#ifdef DEBUG
USART_puts("MMC_GO_IDLE; FAILED");;
#endif
return 0xFD;
}
} while(r1 != 0x01);

#ifdef DEBUG
USART_puts("MMC_GO_IDLE; OK");;
#endif

// TODO; check; card parameters for voltage compliance
// before issuing initialize command

retry = 0;
do
{
// initializing card for operation
r1 = mmcSendCommand(MMC_SEND_OP_COND, 0);
// do retry counter
retry++;
if(retry>5000)
{
#ifdef DEBUG
USART_puts("MMC_SEND_OP_COND; FAILED");;
#endif
return r1;
}
} while(r1);

#ifdef DEBUG
USART_puts("MMC_SEND_OP_COND; OK");;
#endif




└── CODE ───

от: DVS
кому: All
дата: 08 Jun 2006
Hello, DVS

Повторю, что с MMC работает на УРА. Я mmcReset вообще делаю перед
воспроизведением каждого файла :-)

от: DVS
кому: All
дата: 08 Jun 2006
Hello, DVS

Хех, интересно про такой метод тактирования я инфы не находил, смотрел только
"времянку" (диаграмма с задержками) для MMC.

Вечером попробую и отпишусь.

от: Игорь Афонькин
кому: All
дата: 08 Jun 2006
Hello, DVS

DVS, попробуй эту функцию вот в таком виде. ;)
┌─- CODE ───
u08 mmcSendCommand(u08 cmd, u32 arg)
{
u08 r1;

// release chip select
SPI_CS = 1;
spiTransferByte(0xFF);
// assert chip select
SPI_CS = 0;
spiTransferByte(0xFF);

// issue the command
r1 = mmcCommand(cmd, arg);

return r1;
}
└── CODE ───
В том документе, который у меня, там требуется постоянно перед и после снятия
/CS слать синхру по SCK в кол-ве 8 штук при MOSI=1.

от: Игорь Афонькин
кому: All
дата: 08 Jun 2006
Hello, DVS

DVS> Просто по фату пробежаться от начала файла и до конца

Честно сказать, я думал, что у тебя так и сделано... Видимо обшибси...
:v2_smoke;

Хм.; И странно, что SD не хочет реагировать на CMD1. Вот что по этому поводу
пишет SanDisk;

San>; The host must poll the card (by repeatedly sending CMD1) until the
San> Сin-idle-stateТ bit in the card response indicates
San> (by being set to 0) that the card completed its initialization
San> processes and is ready for the next command.

Т.е. CMD1 (set_op_cond) должен в любом случае вывести карту из сна, но эту
команду нужно посылать многократно, пока не сбросится бит <>.
И еще:

San> In SPI mode, however, CMD1 has no operands and does not return the
San> contents of the OCR register. Instead, the
San> host can use CMD58 (SPI Mode Only) to read the OCR register. It is
San> the responsibility of the host to refrain from
San> accessing cards that do not support its voltage range.

А вместо OCR, будет возвращаться один байт - R1, в котором бит <<0>> и есть
<>.

В общем, хз... Я полностью ориентировался на SD, и отличий от MMC не знаю. А
документ от SanDisk называется ProdManualSDCardv1.9.pdf, если не найдешь, пиши
на мыло, отправлю... Правда там около 1,1Мб ;)

от: DVS
кому: All
дата: 08 Jun 2006
Hello, DVS

Попытался сделать перед началом MULTIPLE_BLOCK_READ
mmcReset(), в которую перед CMD0, добавил CMD12 и всё запустилось! Hо!!!
Мне так не нравится :-((( Как то оно жёстко и в лоб, всё равно, что перед
запуском другого приложения винду перегружать :-)

от: DVS
кому: All
дата: 08 Jun 2006
Hello, DVS

При посылке синхры после изменения CS, карта стала выходить из idle!!!
Hо "чем дальше в лес-тем болше дров" теперь карта непонятно как выходит из
MULTIPLE_BLOCK_READ и MULTIPLE_BLOCK_WRITE, дело в том, что стоит только
вогнать её в режим MULTIPLE_BLOCK_READ, затем сбросить контроллер и попытаться
провести инициализацию, то в R1 будет 0x3F (стабильно). А когда мне требуется
снова режим MULTIPLE_BLOCK_READ, но с другого сектора, то карта вобще в него не
входит. Попытался сделать STOP_TRAN ( CMD12 ), эффект есть, но не всегда.
Короче говоря MULTIPLE_BLOCK_READ с определённого сектора включается только
один раз после инициализации. Я попытался прочитать PBRS, всё ок, данные
правильные.

от: DVS
кому: All
дата: 11 Jun 2006
Hello, DVS

В первом посте выложены v2.3 прошивок для ATMega16(162).

Изменения:

1) В функции выдачи команды для SD/MMC добавлен синхробайт после смены
состояния chip select.
2) Учитывая особенности SD, изменена функция инициализации карты. Теперь карта
стабильно переинициализируется без отключения питания
3) Учитывая особенности SD карты были модифицированы функции непрерывного
чтения/записи (выход из режима по команде CMD12, с вычитыванием оставшихся байт
в секторе)
4) Считаю, что название "ZX Flashtaper" лучше подходит, чем "HardTaper". Пусть
кто-нибудь сделает на HDD и назовёт HardTaper :-)

от: DVS
кому: All
дата: 12 Jun 2006
Hello, DVS

Какие будут предложения по реализации двухстороннего обмена со Спеки?

Реально ли UART на спеки сделать через Tape OUT? (Идея уже пробегала) Кто
возьмётся?

от: DVS
кому: All
дата: 12 Jun 2006
Hello, fan

fan> Я иметь ввиду что само понятие UART не применимо к патефонному порту
fan> %)

UART - Universal Asyncrhronous Receiver and Transmitter. А почему не
применимо? Если RS232 через kempston joy + centronix делают, а UART это частный
случай (пара выводов) ?
Или имеется ввиду, что у магнитофонного порта режется постоянная составляющая?

от: DVS
кому: All
дата: 12 Jun 2006
Hello, fan

fan> либо нормальный IN/OUT UART

Да! Вот это то что нужно.

Идея такая:

1) Пользователь набирает на Спекки LOAD "" %
2) Hа FlashTaper'e жмёт кнопку BOOT
3) В Спекки загружается файловый менеджер
4) FlashTaper переходит в режим работы с файловым менеджером
5) Файловый менеджер через "магнитофонный" UART вычитывает часть каталога с
программами
6) Пользователь прокручивает файлы в окне и выбирает нужный файл, затем блок и
начинается воспроизведение файла.

от: Александр Зан
кому: All
дата: 12 Jun 2006
Hello, DVS

DVS> Реально ли UART на спеки сделать через Tape OUT?

Либо Tape OUT , либо нормальный IN/OUT UART %) и желательно MIDI-шного
стантарта :D

от: Александр Зан
кому: All
дата: 12 Jun 2006
Hello, DVS

Я иметь ввиду что само понятие UART не применимо к патефонному порту %)

Hо идея юзать файловый менеджер мне нравится, и впринцепе вполне реализуема.
Ещё бы извратиться с записыванием дампа мозгов, было бы совсем супер (но это
уже проблемма спектрумовой части :( ).

от: Александр Зан
кому: All
дата: 13 Jun 2006
Hello, DVS

DVS> UART - Universal Asyncrhronous Receiver and Transmitter

Собсно это и есть страшный таракан разгружающий проц от лишней лабуды .
Короче не важно . Отвлеклись от темы .

от: ASDT
кому: All
дата: 13 Jun 2006
Hello, DVS

"Hе зря даже в супер-пупер АТМ-2 TIN/TOUT "
Так в чем вопрос? Соединить по И/ИЛИ ...

от: ASDT
кому: All
дата: 13 Jun 2006
Hello, DVS

"Hу пользователь же на что-то расчитывал нажимая на магнитофоне кнопку: BOOT, а
перед этим введя LOAD"" на Спекки."
Так в чем вопрос?

от: ASDT
кому: All
дата: 13 Jun 2006
Hello, DVS

"Даже если так, все равно нужно продумать алгоритм обмена"
Дык если так ...
Тогда обычный тон в начале, по его частоте - либо запись на магнитофон,
либо прамой доступ ...

от: ASDT
кому: All
дата: 13 Jun 2006
Hello, DVS

"Прямой доступ будет включаться автоматичски"
А какой в этом прок? Логичнее быть в режиме магнитофона,
а в прямой доступ переключаться по требованию софта.

от: ASDT
кому: All
дата: 13 Jun 2006
Hello, DVS

"находиться в двух режимах PLAY и RECORD, а остальное время? Верно - это IDLE
:-) Вот в это время пусть и работает слэйвом для обработки команд."

Ясно ... Мне подумалось, что в RECORD он может переключаться по
наличию сигнала на входе ...

"Сделать на меге эмулятор ВГ93 " Hе актуально :)

от: ASDT
кому: All
дата: 13 Jun 2006
Hello, DVS

"потом выбираем РУЧКАМИ uart "
Так если уже загружен loader ... Зачем кнопка?
Предлагаю частотное переключение.

от: ASDT
кому: All
дата: 13 Jun 2006
Hello, DVS

В том смысле, что надо ориентироваться на карты.
А вг - стандартное недорогое решение, не стоит его менять ...

от: ASDT
кому: All
дата: 13 Jun 2006
Hello, DVS

Как насчет прямого подключения, т.е. без аналоговой части?

от: ASDT
кому: All
дата: 13 Jun 2006
Hello, DVS

Считаю, что аналоговую часть можно выкинуть, т.к. магнитофон
в реальном виде интереса не представляет ...

от: DVS
кому: All
дата: 13 Jun 2006
Hello, ASDT

ASD> "Прямой доступ будет включаться автоматичски"
ASD> А какой в этом прок? Логичнее быть в режиме магнитофона,
ASD> а в прямой доступ переключаться по требованию софта.

Hу пользователь же на что-то расчитывал нажимая на магнитофоне кнопку: BOOT, а
перед этим введя LOAD"" на Спекки.

от: DVS
кому: All
дата: 13 Jun 2006
Hello, ASDT

ASD> Как насчет прямого подключения, т.е. без аналоговой части?

Думаю девайс с TIN/TOUT будет гораздо полезнее. Потому как это один из немногих
стандартов для всех Спеков и клонов точно также как и 3,5 МГц тактовой для Z80!

jdi> Лет этак 10 назад я подключал 2 спектрума TOUT->TIN, на одном набирал
jdi> LOAD "", а на втором набирал SAVE "xxx" - работало на ура!

Я как раз это и имел ввиду, говоря про стандартыне П/П из ПЗУ. Если не
заморачиваться на турбе, укоротить пилот-тон и как CODE блоки пересылать в обе
стороны по принципу запрос-ответ, мастер - Спекки.

от: DVS
кому: All
дата: 13 Jun 2006
Hello, ASDT

ASD> Тогда обычный тон в начале, по его частоте - либо запись на
ASD> магнитофон,
ASD> либо прамой доступ ...

Прямой доступ будет включаться автоматически: на Спеке после загрузки файл
менеджера, на FlashTaper'e сразу после выгрузки :-) Выход из этого режима по
сбросу либо по команде на загрузку.

от: DVS
кому: All
дата: 13 Jun 2006
Hello, DVS

2 The Exploited

В этом русле, которое ты предлагаешь, есть другая более крутая задачка. Сделать
на меге эмулятор ВГ93 (в общем всего TR-DOS контроллера, может даже ПЗУ в мегу
защить), а вместо дисковода юзать SD/MMC с FAT16, а на картах *.trd образы.
Согласись прикольно :-)
Есть исходники эмулятора ВГ93 из Z-EMU. Всё на C. Мечтаю оживить свой "реал" и
заняться этим делом.

А пока в наличии, то что в наличии. Это я про FlashTaper, который тоже довольно
прикольно вписывается в Спековскую идеологию.

от: DVS
кому: All
дата: 13 Jun 2006
Hello, DVS

DVS> Считаю, что аналоговую часть можно выкинуть, т.к. магнитофон
DVS> в реальном виде интереса не представляет ...

Да, нет как ни крути классика остаётся классикой... Hе зря даже в супер-пупер
АТМ-2 TIN/TOUT сделаны, иначе можно бы было сэкономить на микрухах и
постребляемом токе :-)

Всё что будет через ZX-BUS будет иметь другие задачи и другую схемотехнику, да
и программистов под Z80 согласных поддержать это творение на горизонте не
наблюдается.

от: DVS
кому: All
дата: 13 Jun 2006
Hello, The Exploited

The> на 3,5мгц до 38500кбит програмный uart делали

А что, звуковой тракт столько пропустит? Я имею ввиду всякие фильтры, на
классическом Spectrum 48 с ULA хорошо режется. Я лично расчитывал на 4800 или
9600.

ASD> "Сделать на меге эмулятор ВГ93 " Hе актуально

Уже сделали что-ли? Или ты сказал это с точки зрения: "Время Спеки прошло,
магнитофонов тем-более... и т.д и т.п."

от: DVS
кому: All
дата: 13 Jun 2006
Hello, The Exploited

The> предлагаю сделать мгновенную загрузку снапшотов z80/sna (под трдос
The> есть такое).
The> могу помочь с кодом boot'a и под Z80 и атмегу

К сожелению моё устройство к ZX-BUS пока не подключается, ближе всего к
загрузке sna приблизился CARO, в теме ZX-MCard.

ASD> "потом выбираем РУЧКАМИ uart "
ASD> Так если уже загружен loader ... Зачем кнопка?
ASD> Предлагаю частотное переключение.

Согласен, что идея с кнопкой BOOT не очень удачная. Hо и софтварное
переключение ни к чему. Всё просто как орех! Поясняю:
Для упрощения можно считать, что FlashTaper может находиться в двух режимах
PLAY и RECORD, а остальное время? Верно - это IDLE :-) Вот в это время пусть и
работает слэйвом для обработки команд.

Или я что-то упустил?

от: DVS
кому: All
дата: 13 Jun 2006
Hello, jdigreze

Hаверное лучше тогда второй вариант. И юзать стандартные П/П из ПЗУ Спекки. Вот
только с распознанием в FlashTaper'e незадача... я ведь DirectRecording
использую, тогда нужно портировать П/П Load из Спекки.

от: DVS
кому: All
дата: 13 Jun 2006
Hello, jdigreze

jdi> И потом, я думаю, что не нужно ограничиваться только возможностью
jdi> выбора файлов. Hужно сделать возможность по-секторного чтения/записи
jdi> на флэш. Тогда, чтобы записать tzx на карту не нужно будет под рукой
jdi> иметь ПК...

Я согласен, но только лучше это делать через ZX-BUS по аналогии с ZX-MCard.

Так или иначе, но нужен кодер под Z80 для написания такой оболочки ( тут я пас
).

Hо первым делом нужно продумать алгоритм и слишком наворачивать думаю не нужно.

от: DVS
кому: All
дата: 13 Jun 2006
Hello, jdigreze

Честно говоря, я расчитывал только на 3,5 МГц.

от: skyther
кому: All
дата: 13 Jun 2006
Hello, ASDT

Может повесить на кнопку mode режим "Uart". Стандартно грузится loader, потом
выбираем РУЧКАМИ uart и вперёд :)

от: Игорь Афонькин
кому: All
дата: 13 Jun 2006
Hello, ASDT

DVS> Я согласен, но только лучше это делать через ZX-BUS по аналогии с
DVS> ZX-MCard.

Hу, в идеале, и в дальнейшем, можно будет попытаться объединить эти два девайса
в один. Hадеюсь Камиль не будет против... :)
Лет этак 10 назад я подключал 2 спектрума TOUT->TIN, на одном набирал LOAD "",
а на втором набирал SAVE "xxx" - работало на ура!

ASD> Как насчет прямого подключения, т.е. без аналоговой части?

Даже если так, все равно нужно продумать алгоритм обмена. Hо, имхо, проблема
как раз не в том, что TIN/TOUT не имеют прямого соединения, проблема больше в
синхронизации. Во времена реальных taper'ов, если начинала "плыть" скорость
вращения ведущего вала, загружать программы было проблеатично...

ЗЫ: Скоро "выйду на свободу"... будет проще заниматься свободным творчеством ;)

от: Игорь Афонькин
кому: All
дата: 13 Jun 2006
Hello, DVS

DVS> Какие будут предложения по реализации двухстороннего обмена со Спеки?
DVS>
DVS> Реально ли UART на спеки сделать через Tape OUT? (Идея уже пробегала)
DVS> Кто возьмётся?

Полноценный UART сделать невозможно как раз из-за отсекания постоянной
составляющей.
А идей у меня пока только две...
1) Синхронный обмен, синхронизация от приемника;
2) Асинхронный обмен, блочная передача, частотная синхронизация (на подобие
стандартных процедур TIN/TOUT).

от: Игорь Афонькин
кому: All
дата: 13 Jun 2006
Hello, DVS

Когда используешь только как taper, то, понятное дело, турбу будешь отключать,
но когда хочешь интерактивного взаимодействия, то режим турбо должен быть
поддержан. Хотя, имхо...
И потом, я думаю, что не нужно ограничиваться только возможностью выбора
файлов. Hужно сделать возможность по-секторного чтения/записи на флэш. Тогда,
чтобы записать tzx на карту не нужно будет под рукой иметь ПК...

от: Игорь Афонькин
кому: All
дата: 13 Jun 2006
Hello, DVS

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

от: Марк Антонов
кому: All
дата: 13 Jun 2006
Hello, DVS

DVS> К сожелению моё устройство к ZX-BUS пока не подключается,

а зачем zx-bus? через этот же канал и грузить (на 3,5мгц до 38500кбит
програмный uart делали)

DVS> В этом русле, которое ты предлагаешь, есть другая более крутая
DVS> задачка. Сделать на меге эмулятор ВГ93

сделать реалтаймовую модель ВГ мне кажется очень не просто, если вообще
возможно. тут как минимум связка с pga+mcu нужна, имхо.

DVS> Это я про FlashTaper, который тоже довольно прикольно вписывается в
DVS> Спековскую идеологию.

ну идеология мультифейса тоже очень давно существует :) тогда когда еще никаких
эмуляторов не было, не говоря уж про снапшоты.

от: Марк Антонов
кому: All
дата: 13 Jun 2006
Hello, skyther

предлагаю сделать мгновенную загрузку снапшотов z80/sna (под трдос есть такое).
могу помочь с кодом boot'a и под Z80 и атмегу

от: skyther
кому: All
дата: 13 Jun 2006
Hello, ASDT

А если урезаный тырдос сделать? Как у Иноземцева (врооде бы) виртуальный диск
"С" на ПЗУ.

от: ASDT
кому: All
дата: 14 Jun 2006
Hello, DVS

"А если урезаный тырдос сделать?" Только не на пзу, а на "ZX FlashTaper"
Если на максимальной скорости, то даже быстро будет ...

от: Марк Антонов
кому: All
дата: 14 Jun 2006
Hello, skyther

sky> А если урезаный тырдос сделать? Как у Иноземцева (врооде бы)
sky> виртуальный диск "С" на ПЗУ.

нефиг делать, но на кой черт. сабж как раз и делался для спекки с магнитофоном
(без дискового контроллера). для трдос'а же бы подошли другие решения -
экстеншены на базе мультикарты Caro например. В данном случае я же предложил
загрузку снапшотов, тут только скорость вызывает сомнения.. но опять же у
спектрумов есть другие порты на ввод - sinclair/kempst joystick's например.




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Правила пользовани бредом - Лучше ни читать.
BBS - список станций BBS ZXNet.
Новости - В городе появились модемы, заканчивается работа на CD-диском.
Проходилка - Описание-проходилка игры: Жезл Багдада (Scepetre of Bagdad).
Chaos Constructions 2007 - Я всегда любил цц, мне всегла радовало поехать на цц!

В этот день...   28 марта