скачать 2014.rar 297kb 
Внимание! Если что-то не качается то надо скопировать ссылку в строку адреса, 
и поменять имя файла на заглавные буквы (это из-за переезда на ucoz) 

на сентябрь 2014г сделано:
Эмулятор ZX Spectrum 48k Синклер-90х годов
под него есть куча игр, но формат будет тока один *.z80 для 48к модели
(делается в REALSPEC через F3 F5 ALT+F5 из любого формата)
128к и прочие пентагоны поддерживаться пока не будут. т.к игр под них мало,
Но потом может и будет. У меня был синклер 48к с дисководом и много памяти не 
надо т.к можно с дискеты подгружать в озу походу хоть все 700кб. Если есть 
файл *.key (24байт) c таким же именем то будет переназначение кнопок  и настройки
для этой игрули. По умолч AZOP-стрелки,cs+пробел=ESC Vol=zoom ; Mode=Экранная клава 
40 кнопок: 0-39-номер кнопки  ("1"=0; пробел=39) +64(+sc)+128(+ss)
Подробнее в описании в архиве.

Можно его адаптировать к любому маломощному девайсу без ОС, типа Телевизор с usb/sd,
фотоаппарат с экраном, фоторамка, видеорегистратор, мп4 плеер, ДВД плеер итп, если:
1)есть дисплей 320х240 и выше (реально 480х234 BRGB) + аппаратный zoom в м/с
2)может играть видео. (тогда скорости хватит и цветов)
3)есть хотябы 6 кнопок: стрелки ентер и esc (иначе играть будет неудобно)
4)можно обновить прошивку и она есть (или кто-то по RS-232 уже вытянул)
5)описание асемблера, адреса п/п ввода/вывода с примерами как читать код кнопки и рисовать
RGB точки. это можно найти в инете или написать дизасемблер/компилятор по аналогии.

Пзу-48 работает, на бейсике можно писать мелкие проги и запускать
прямо в плеере. есть 82,90,92 года пзу - любое можно запустить.
в Zx48k.rom - переименовать. Бордюра пока не будет, толку от него мало, путевые
эффекты не сделать, а экран и так маленький, лучше пусть осн. картинка
будет покрупнее. 125%-zoom без бордюра. Звук через порты пока делать не буду,
там надо точно такты считать, эмулятор бипера из пзу можно как wav сделать,
как тока узнаю формат wav, но в других прошивках возможно другой адрес. 

---------------------------
Недавно внезапно появилось необходимость писать с теле на этот плеер.
иногда идут два кина сразу или днем когда ноут, на который обычно пишу, занят.
пришлось вытащить плеер и немного доделать старые проги..
По ходу разобрался с алгоритмом Байера и как выводить RGB точки.
Сделал просмотр BMP,(формата Gif не знаю) спрайтов, анимированных спрайтов,
вини-пух на шарике теперь лихо летает по экрану плеера и крутится!
скорость оказалось хорошая - значит можно игры писать - выводить кучу спрайтов
и двигать их и проверять на столкновения потом по логике что-то делать.
Но самому писать игры нет времени, решил сделать Эмулятор синклера, графика там
конечно так себе, но зато все игры уже давно написаны плюс куча всяких прог.
Говорят есть ещё эмулятор денди для санплюса, как найду - адаптирую к м3.
В отличие от эмуля к iOS - плееры итп не имеют открытой ОС и для каждой прошивки,
нужно подстраивать адреса, асемблер разный, экран, кнопки, но при желании сделать можно.

В новой прошивке добавлен автозапуск С:\DVR\boot.em3 
но никому не дам пока не будет подробной инфы как вост. родную прошивку.
запускайте по старому: - вход в календарь. потом всё появится.
Остальное реализовано в виде DLL - загружается новым boot-ом при первом
входе в ОС.- или сразу при включении с новой прошивкой. Но если в патчере
будет ошибка, то может зависнуть при включении и что тогда? Перезагрузка
уже не поможет. Так что прошивка с автозапуском опасная вещь для большинства.
Перед тем как включить в DLL - надо испытать отдельной прогой, а патчер boot.em3
с patch_M3.dat сначала запускать на карте в D:\DVR и если не зависнет то можно
записать в С:\DVR в автозапуск при старте. В патчере могут быть ошибки формата,
тогда он дальше не патчит, или в HEX числах рус. буквы АВСЕ-тогда пропатчит не
так как надо а числом до этих букв.(и может зависнуть) также можно в 16/32 
битных словах перепутать порядок байтов - в дампе они от мл к ст а в патчере
и в исходниках программ от ст к мл. Ну и не туда записать можно..
 
boot меняет картинки меню на любые меньше 64кб и звуки,(это было еще раньше)
потом по файлу patch_m3 ставит заплатки, жучки, может грузить файлы (шрифты
таблицы, драйвера) и дату ставит из Date.txt и время 00:00
Патчер в буте поддерживает строки, байты, 16/32 битные слова и файлы.
Его также можно запускать как обычную прогу из любого каталога, и если в этой
же папке есть файл patch_M3.dat то пропатчит память плеера из него.

Исправлена ошибка в проге инфо-флеш.-неправильно считалось занято/свободно,
если были стертые файлы.

Добавлено ещё меню и куча подменю.(вызов-кнопкой mode в гл. меню)
Сделана анимация рамки и меню при ожидании клавиши.(3 варианта)
Сделана русификация списка мп3, замена ДОС имен на Длинные (рус), 
Исправлен заголовок песни если нет тега - то длинное имя файла.
Исправлен глюк с обработчиками расширений - загл и маленькие расширения
теперь не разные, а одинаковые и mp3.cm3 понимает *.MP3 и *.mp3 .
Сделано проигрывание одного мп3 файла прямо из FAR-M3 (а игралка по плейлисту
была и раньше в 2х вариантах от winamp и просто список файлов)
Но файлы должны быть в каталоге MP3! и больше одного (а то виснет иногда)
Еще фар-м3 показывает список файлов-песен не сортировано-как были записаны
(можно при записи из компа в плеер сортиртирнуть как надо, в фаре например,
а потом скопировать) а родная игралка мп3 показывает список по 6 шт в порядке
увеличения даты и поледний и первый зачем-то меняет местами.
(А вот *.jpg, *.wav, *.txt можно запускать из ЛЮБОГО каталога)

Добавлена инфо строка эквалайзера в мп3 кнопка mode - пишет номер фильтра 0-10.
(В принципе можно более крутой эквалайзер сделать с регулировкой по полосам,
там запись в порты декодера-аппаратный фильтр в м/с. Еще можно в фоновом 
режиме БПФ делать и спектр показавать как в winamp-e, вместо LRC)
Кнопка mode также вкл/выкл экран (если включен этот режим через меню), но 
кнопки работают. И показывает текущее время-крупно. (3 режима mode)

Разобрался походу с несколькими встр. процедурами :
-Выполнение команд по rs232.
 но подключаться по шнуру не надо - можно прямо из плеера их выполнять.
Из прог или из файла в режиме MSDN- анимация рамки работает- значит
 можно во время подключения по USB выполнять программы в фоновом режиме

-Чтение и запись файлов. (стандартные)
 но читать файлы лучше моей старой процедурой Load_File до 700к - она любые 
 имена понимает, а писать вот этой новой 8C353000() желательно лат. буквами.
 я уже пару дампов озу 16 мб записал-работает! рус и LFN тоже можно
-Копирование файлов = читает 16к и пишет 16к в цикле
я сделал по 256к и приделал два индикатора копирования число и графич полоса.

Из гл. меню кнопкой mode можно быстро вызвать меню-которое можно настроить
на любые задачи(текстовый файл) сейчас там быстрый переход в ОС-М3 и др.



Новые проги: 
1)Перекл флеш-(внутр/SD card) + показывает сколько свободно

2)Запись видео по 150мб и автоперекл с внутр флеш на карту при заполнении. 
 (Разбивка для быстрой перемотки-на больших виснет и долго.)
 При хорошем качестве видеосигнала это 18мин, при плохом-5мин.
 *при записи на 512мб карту кингстон - отстает звук при записи.
 Вобщем на 512-карту и внутр флеш влазит больше 2ч видео, кино влазит. 
 кнопка mode вкл/выкл экран, но кнопки работают.

 Запись видео по таймеру. через ХХ минут выключить запись. 

3)Редактор-блокнот для текста 32х12 с экранной клавиатурой

4)Калькулятор с 2-мя большими 9-разр. дисплеями цифр. крутой.

5)Эмулятор rs-232 -выходит cmd> и можно набирать команды из плеера а не через
 дата-кабель. cd,help,mp3playall,zoom,pan,del,pbrot,dir,copy и др. работают. 

6) Копирование с контролем размера , Удаление, Переименование(копирование)

7) часы, будильник, секундомер крупными цифрами на черном фоне, с анимацией.
 сигнал C:\MP3\alarm.mp3 - если есть, то играет. Есть установка времени и 
 будильника и меню для настроек.

8)Доделал Словарь-теперь можно листать назад и vol-играет mp3 из С:\MP3\
 и wav из С:\WAV\ если есть такой файл: слово до "-" + расширение
 и mode - показывает jpg из C:\JPG\ если есть.

9)Графическая библиотека в DLL230
 вывод *.jpg-с повротами и увелич ,*.bmp 320x240 24b/256 на графич 
 *.b39 - bmp 320x240-121 24b но выводится на текстовый экран (OSD) 39 цветами
 нижние 6 точек не видно, если высота 121-234 то выводятся часть.
 нечетные строки усредняются с четными - возможно размывание цветов и
 24 битные цвета преобр. в 39 цветов R=0-256 -> R=0,1,2 (на три делит 0-нет
 1-темный 2-светлый) 256цветные (быстрее вывод по  таблице и размер меньше) 
 Но палитра 256цв - игнорируется- всегда стандартная.
 хотя таблицу палитры можно поменять програмно на другие цвета..
 Если высота 1-120 то линии без искажений цветов. 
 здесь вывод по алгоритму байера, но на OSD экран не действует zoom/pan.
 (на нем удобно отладочные надписи писать - они всегда поверх и видно)

10) DLL350 - дополнения, исправления ОС-М3, запись, копирование. 
 *.txt - улучшенная читалка с перекл на графич.экран(320/12-32 х 240/20)
 с переносом слов, плавный скрол без мерцания и скачки цветов.

-Улучшения-------------------
-Вывод имён в списке мп3 файлов-длин именами или дос рус-(настройка патчером)
-Правильная печать рус. дос букв (шрифт и таблица перекодировки юникода)
-Заголовок мп3 файла если нет тега-название или ДОС_имя8.3 или 
 И-М-Я- Ф-А-Й-Л-А- или Длинное_имя_файла (настраивается патчером)
 Если файлов много, то будет тормозить - лучше дос имена оставить.
-Кнопка mode в видеопросмотре показывает размер вместо названия каталога
-Поменял цвет, атрибуты кое где, чтобы лучше читалось

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

У меня почему то джойстик вверх и вправо стал плохо работать - пришлось
разобрать полностью и сделать дырку пошире надфилем. - теперь нормально.
Еще трещать стал, думал экран - отключил, все равно трещит. На форуме
експлея вроде такой вопрос задавали - ответили типа LCD дисплей трещит
и они все трещат. Подозрения на цепи питания, не знаю как точно найти.

При записи на карту почему то звук отстает и иногда конец файла не записывает-
появляется время записи огромное-но это я исправил #8C029AE8: #28 (было #14)
а с отставанием звука пока никак. может флешка тормозная. кингстон 512 мб,
у меня usb-диск 8гб тоже кингстон так ваще сектора пропадают просто так..
-------------------------
*.LRC файлы - в плеере есть фича- проигрывание лирик файлов.
если название песни и лирик файла одинаковые то вместо SampleRate=
будет бегущая строка или две.
Формат:
[00:01] строка-1
[00:02] строка-2
в скобках- временные метки, без них кажись не работает.
если буквы русские то появляются глюки с цветом шрифта..
ещё иногда подвисает и тормозит, так что вот так..


======================================================================
цвета текстового экрана 480х240(234) доступно 15 цветов,
но максимально возможно 39 цветов . т.к каждая R,G,B точка имеет три
уровня 0% 50% 100% и если в красную попадают цвета 4,5,7,8,11,12-которые
не имеют R-части то они эту точку гасят(0%), так же с синей и зелёной.
В принципе можно обойтись 15 14 13 числами, но писать их точно в ячейку
с известным цветом тогда будет 15=0% 14=50% 13=100%. Цвета идут так:
0          
BRGBRGBRGBRB- до 479
RGBRGBRGBRGB
BRGBRGBRGBRB
вниз до 233

строки 234-240 как бы есть но их не видно.

15-черный 0%-R,G,B
14-бело стальной 50%-R,G,B
13-белый 100%-R,G,B
12-голубой 
11-сиреневый
10-фиолетовый 
9-пурпурный(розово-голубой)
8-светло синий
7-синий
6-темно желтый
5-зеленый
4-салатный
3-желтый
2-полупрозрачно розовый (синий цвет фона меняется)
1-красный
0-прозрачный

Читаемые атрибуты (остальные отцтой) с 2 поосторожней-полупрозрачный, зависит
от цвета картинки на граф экране.
1-крас 2-п/п кор 3-жел 4-св зел 5-темн зел 6-темно жел 7-темно син 8-светло син 
9АВ-фиол С-голубой D-белый E-cтальной F-черный 0-прозрачный
ц0кф     вместо 0-1(красный) для 4х цветных значков
E021 стальной на красном фоне
D0F1 белый на красном фоне
C0F1 голубой на красном фоне
D0F2 БЕЛЫЙ на темном фоне (коричневый-полупрозрачный)
F063 ЧЕРНЫЙ на желтом
D055 D0F5 D025 D065 БЕЛЫЙ на темно зеленом
D026 D056 D0E6      БЕЛЫЙ на темно желтом
D0F7 D027           БЕЛЫЙ на темно синем
C0F7 (фар-м3)  голубой на синем
D078 D0F8           БЕЛЫЙ на светло синем
D02A белый на фиолетовом
F0EC черный на голубом
E0FF E02F  стальной на черном фоне
302F       желтый на черном фоне
D0FF D0EF D02F БЕЛЫЙ на черном фоне
======================================
26 сен 2014г Xing.