|
nedoPC.orgElectronics hobbyists community established in 2002 |
|
Новый старый Специалист :)
Author |
Message |
shoorick
Doomed
Joined: 05 Nov 2007 05:08 Posts: 487 Location: Украина
|
Раззадорили вы меня, решил спаять себе опять спеца Конечно же, классику Короче, уже пипикает, правда, выяснилось, что в закромах Родины остался только один КП2 щас занимаюсь срочным их поиском...
|
28 Jun 2010 23:13 |
|
|
shoorick
Doomed
Joined: 05 Nov 2007 05:08 Posts: 487 Location: Украина
|
плата, со старых запасов. последняя непаянная была правда, какчество оказалос... сверло гуляло как хотело, хомутов было немеряно, в т.ч. пришлось некоторые дорожки резать и обводить проволочками, а одной дорожки вообще не было как так и надо
снимал веб-камерой, доделаю - сделаю или фото получше, или на сканере попробую. фотик уехал на море, но и он у меня не супер
Все ретро, кроме панелек под РУ5 и электролитов
|
29 Jun 2010 00:05 |
|
|
shoorick
Doomed
Joined: 05 Nov 2007 05:08 Posts: 487 Location: Украина
|
так-с... вот и этот запипикал
(это не я собирал, мне его подарили, но чинить его пришлось - ИЕ7 сдохла)
теперь надо с гаража маленький телек принести (большого теперь боюсь - хватит с меня одного пшика)
|
29 Jun 2010 21:54 |
|
|
shoorick
Doomed
Joined: 05 Nov 2007 05:08 Posts: 487 Location: Украина
|
короче говоря, без фефектов никак. мало того, что с ходу тактовый генератор не завелся, помогла только замена ЛН1, при просмотре видео оказалось, что в ИР12 один бит битый, хотя все микрухи тут изначально непаянные. пришлось вставить (вы)паяный ИР12 на панельке на всякий случай. так что любовь к ретрочипам у меня пошатнулась или это лихие 90-е без ОТК? вобщем, тест работает, но все микрухи памяти под вопросом и загрузчик не работает. т.е., видимо запись проходит нормально, а чтение наверное нет... вопщем, будет еще чем поразвлечься вместо нехвативших КП2 поставил 555КП12 (что дали, как говорится)
|
05 Jul 2010 00:42 |
|
|
fifan
Devil
Joined: 06 Oct 2006 03:17 Posts: 859 Location: г.Лянтор,Сургутского р-на,ХМАО
|
А писишный разъем сам поставил? Фотка прекрасная, можно мне на сайт поставить?
|
05 Jul 2010 05:51 |
|
|
shoorick
Doomed
Joined: 05 Nov 2007 05:08 Posts: 487 Location: Украина
|
да, на краю платы дырочек насверлил, питаю писишным бп (21 век на дворе)
можно, конечно это сканером снято (эпсон на работе).
обидно, конечно, что пока не пашет, но хорошо, что тест на экран нормально выводит - есть от чего отталкиваться, а то у меня единственное отличие от тех лет - появился старенький осциллограф надеюсь, заборю
|
05 Jul 2010 06:02 |
|
|
shoorick
Doomed
Joined: 05 Nov 2007 05:08 Posts: 487 Location: Украина
|
Тык-с... збацал тестик
| | | | Code: ;======================================================================= include "8080.inc" include "win2koi7.inc" include "bv.inc" ;----------------------------------------------------------------------- macro rom_call _proc { local .next lxi sp,.next - 2 jmp _proc dw .next .next: }
macro test_head _line,_number { mvi e,_line mvi d,scr_left lxi b,_test rom_call str_out mvi a,_number rom_call char_out inr d } ;======================================================================= rom_base equ 0C000h scr_left equ 92h ;======================================================================= org rom_base ;----------------------------------------------------------------------- jmp @F @@: mvi a,82h sta 0FF03h rom_call cls mvi e,5 mvi d,scr_left lxi b,_ver rom_call str_out ;----------------------------------------------------------------------- ; проверка возможности записи и чтения из видео памяти ;----------------------------------------------------------------------- test_head 20,"1" lda 0A000h mov c,a cma sta 0A000h lda 0A000h cma cmp c lxi b,_ok jz @F lxi b,_err @@: rom_call str_out ;----------------------------------------------------------------------- ; проверка пересечения областей памяти ;----------------------------------------------------------------------- ; 2 - A14 ; 3 - A15 ;----------------------------------------------------------------------- test2_3: test_head 30,"2" xra a sta 0 sta 4000h sta 8000h dcr a sta 0 lda 4000h ora a jnz .err lxi b,_ok rom_call str_out ;----------------------------------------------------------------------- test_head 40,"3" lda 8000h ora a lxi b,_ok jz @F .err: lxi b,_err @@: rom_call str_out ;----------------------------------------------------------------------- @@: jmp @B ;======================================================================= ; ;======================================================================= cls: lxi h, 9000h lxi b,0C000h mvi e,0 @@: mov m,e inx h mov a,h cmp b jnz @B mov a,l cmp c jnz @B ret ;----------------------------------------------------------------------- ; a - символ ; de - позиция на экране (абсолютный адрес) ; hl - используется ;----------------------------------------------------------------------- char_out: lxi h,(font shr 3) - 32 add l mov l,a jnc @F inr h @@: dad h dad h dad h repeat 8 mov a,m stax d inr l inr e end repeat mov a,e sui 8 mov e,a ret ;----------------------------------------------------------------------- ; bc - указатель на строку. используется всё. ; de - позиция на экране (абсолютный адрес) ;----------------------------------------------------------------------- str_out: ldax b ora a rz ;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ lxi h,(font shr 3) - 32 add l mov l,a jnc @F inr h @@: dad h dad h dad h repeat 8 mov a,m stax d inr l inr e end repeat mov a,e sui 8 mov e,a ;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ inx b inr d jmp str_out ;======================================================================= _test: dr "ТЕСТ ",0 _ok: dr " - OK",0 _err: dr " - ОШИБКА!",0 _ver: dr "ВЕРСИЯ ",MAIN_VERSION,".",SUB_VERSION,".",BUILD_VERSION,0
times ((256 - ($ and 255)) and 255) db 0FFh
font: file "font.bin"
;======================================================================= times (rom_base + 2048 - $) db 0FFh ;======================================================================= | | | | |
должно быть так:
а в жизне так:
так что буду трейсить А14/А15 тестером
|
07 Jul 2010 01:37 |
|
|
shoorick
Doomed
Joined: 05 Nov 2007 05:08 Posts: 487 Location: Украина
|
скоро отчитаюсь о проделанной работе
|
23 Jul 2010 09:42 |
|
|
shoorick
Doomed
Joined: 05 Nov 2007 05:08 Posts: 487 Location: Украина
|
вопщем, заменил еще одну микруху: ЛЕ1, и все зашуршало, так что в ночь с 09 на 10 июля появился еще один Спец
просто "видон"
http://www.youtube.com/watch?v=j0fxEjdtRvI
spaceking
http://www.youtube.com/watch?v=fpiGWiIAYCc
пока засунул в корпус от принтера - подошел тютелька в тютельку, что плохо: бп снаружи, расширения лепить негде (если ваще буду их лепить). засунуть пришлось, т.к. на него постепенно начали складывать всякую всячину (жысть...)
http://picasaweb.google.com/shooricks/b ... 1009324562
|
26 Jul 2010 07:12 |
|
|
shoorick
Doomed
Joined: 05 Nov 2007 05:08 Posts: 487 Location: Украина
|
у себя выложил программу для конвертирования файлов RKS в WAV для загрузки на Специалист через магнитофонный вход. По умолчанию добавляет заголовок для монитора, а также при необходимости может расчитывать контрольную сумму блока.
|
26 Jul 2010 23:13 |
|
|
shoorick
Doomed
Joined: 05 Nov 2007 05:08 Posts: 487 Location: Украина
|
балуемся...
|
06 Aug 2010 00:16 |
|
|
shoorick
Doomed
Joined: 05 Nov 2007 05:08 Posts: 487 Location: Украина
|
|
10 Aug 2010 21:58 |
|
|
shoorick
Doomed
Joined: 05 Nov 2007 05:08 Posts: 487 Location: Украина
|
кстати, только одна таблица синусов занимает 180 байт
841 байт - векторное описание надписей "FASM" и "ФАХ²ВЕЦЬ",
подпрограммы рисования линий и окружностей работают с 16-битными координатами, подпрограмма рисования окружностей может также рисовать дуги с шагом 1/8 окружности в любой комбинации. синус - с любыми углами в градусах (автоматически приводится к диапазону 0-90)... так что, кое-что там отимизировать однозначно можно, но насчёт 512 байт меня терзают смутные сомнения
|
10 Aug 2010 23:19 |
|
|
shoorick
Doomed
Joined: 05 Nov 2007 05:08 Posts: 487 Location: Украина
|
вообще-то это я пишу либу для себя (наверстываю упущенное), и данная дема - фактически ее испытание, а не пример оптимальности или минимальности. конечно, с точки зрения алгоритмов у меня пробел в образовании, поэтому могу чего-нибудь оптимального "всем известного" не знать, но главное для меня - желаемый результат достигается таблица синусов - для рисования синусоиды. круги рисую брезенхемом кв. корень пока не реализовывал, хотя не помешал бы.
|
12 Aug 2010 02:31 |
|
|
shoorick
Doomed
Joined: 05 Nov 2007 05:08 Posts: 487 Location: Украина
|
круги делаются алгоритмом брезенхема без синусов, корней и таблиц
синус используется здесь для рисования синусоиды, причем функция целочисленная, она не выдает синус, а выдает произведение переданной константы на синус угла в градусах, взятый из таблицы
таблица состоит из двойных слов синус угла * 65536. после умножения на слово получаем двойное слово, в качестве результата используем старшее слово, младшее отбрасываем (очень быстрое деление на 65536). вот.
|
12 Aug 2010 06:37 |
|
|
Who is online |
Users browsing this forum: No registered users and 2 guests |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot post attachments in this forum
|
|