nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 28 Mar 2024 06:46



Reply to topic  [ 32 posts ]  Go to page 1, 2, 3  Next
Новый старый Специалист :) 
Author Message
Doomed
User avatar

Joined: 05 Nov 2007 05:08
Posts: 487
Location: Украина
Reply with quote
Раззадорили вы меня, решил спаять себе опять спеца :) Конечно же, классику :) Короче, уже пипикает, правда, выяснилось, что в закромах Родины остался только один КП2 :( щас занимаюсь срочным их поиском...

Image


28 Jun 2010 23:13
Profile WWW
Doomed
User avatar

Joined: 05 Nov 2007 05:08
Posts: 487
Location: Украина
Reply with quote
Post 
плата, со старых запасов. последняя непаянная была :) правда, какчество оказалос... сверло гуляло как хотело, хомутов было немеряно, в т.ч. пришлось некоторые дорожки резать и обводить проволочками, а одной дорожки вообще не было как так и надо 8)

снимал веб-камерой, доделаю - сделаю или фото получше, или на сканере попробую. фотик уехал на море, но и он у меня не супер :)
Все ретро, кроме панелек под РУ5 и электролитов :)


29 Jun 2010 00:05
Profile WWW
Doomed
User avatar

Joined: 05 Nov 2007 05:08
Posts: 487
Location: Украина
Reply with quote
Post 
так-с... вот и этот запипикал :)
Image
(это не я собирал, мне его подарили, но чинить его пришлось - ИЕ7 сдохла)

теперь надо с гаража маленький телек принести (большого теперь боюсь - хватит с меня одного пшика)


29 Jun 2010 21:54
Profile WWW
Doomed
User avatar

Joined: 05 Nov 2007 05:08
Posts: 487
Location: Украина
Reply with quote
Post 
короче говоря, без фефектов никак. мало того, что с ходу тактовый генератор не завелся, помогла только замена ЛН1, при просмотре видео оказалось, что в ИР12 один бит битый, хотя все микрухи тут изначально непаянные. пришлось вставить (вы)паяный ИР12 на панельке на всякий случай. так что любовь к ретрочипам у меня пошатнулась :) или это лихие 90-е без ОТК? ;) вобщем, тест работает, но все микрухи памяти под вопросом и загрузчик не работает. т.е., видимо запись проходит нормально, а чтение наверное нет... вопщем, будет еще чем поразвлечься :) вместо нехвативших КП2 поставил 555КП12 (что дали, как говорится)

Image


05 Jul 2010 00:42
Profile WWW
Devil

Joined: 06 Oct 2006 03:17
Posts: 856
Location: г.Лянтор,Сургутского р-на,ХМАО
Reply with quote
Post 
А писишный разъем сам поставил? Фотка прекрасная, можно мне на сайт поставить?


05 Jul 2010 05:51
Profile
Doomed
User avatar

Joined: 05 Nov 2007 05:08
Posts: 487
Location: Украина
Reply with quote
Post 
да, на краю платы дырочек насверлил, питаю писишным бп (21 век на дворе)

можно, конечно :) это сканером снято (эпсон на работе).

обидно, конечно, что пока не пашет, но хорошо, что тест на экран нормально выводит - есть от чего отталкиваться, а то у меня единственное отличие от тех лет - появился старенький осциллограф :) надеюсь, заборю ;)


05 Jul 2010 06:02
Profile WWW
Doomed
User avatar

Joined: 05 Nov 2007 05:08
Posts: 487
Location: Украина
Reply with quote
Post 
Тык-с... збацал тестик

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
;=======================================================================

должно быть так:
Image

а в жизне так:
Image

так что буду трейсить А14/А15 тестером :o


07 Jul 2010 01:37
Profile WWW
Doomed
User avatar

Joined: 05 Nov 2007 05:08
Posts: 487
Location: Украина
Reply with quote
Post 
скоро отчитаюсь о проделанной работе :)

Image


23 Jul 2010 09:42
Profile WWW
Doomed
User avatar

Joined: 05 Nov 2007 05:08
Posts: 487
Location: Украина
Reply with quote
Post 
вопщем, заменил еще одну микруху: ЛЕ1, и все зашуршало, так что в ночь с 09 на 10 июля появился еще один Спец :)

просто "видон"
http://www.youtube.com/watch?v=j0fxEjdtRvI

spaceking
http://www.youtube.com/watch?v=fpiGWiIAYCc

пока засунул в корпус от принтера - подошел тютелька в тютельку, что плохо: бп снаружи, расширения лепить негде (если ваще буду их лепить). засунуть пришлось, т.к. на него постепенно начали складывать всякую всячину :evil: (жысть...)

http://picasaweb.google.com/shooricks/b ... 1009324562


26 Jul 2010 07:12
Profile WWW
Doomed
User avatar

Joined: 05 Nov 2007 05:08
Posts: 487
Location: Украина
Reply with quote
Post 
у себя выложил программу для конвертирования файлов RKS в WAV для загрузки на Специалист через магнитофонный вход. По умолчанию добавляет заголовок для монитора, а также при необходимости может расчитывать контрольную сумму блока.

Image


26 Jul 2010 23:13
Profile WWW
Doomed
User avatar

Joined: 05 Nov 2007 05:08
Posts: 487
Location: Украина
Reply with quote
Post 
балуемся... :roll:

Image


06 Aug 2010 00:16
Profile WWW
Doomed
User avatar

Joined: 05 Nov 2007 05:08
Posts: 487
Location: Украина
Reply with quote
Post 
3kb демо ;)

http://www.youtube.com/watch?v=HARfDrV7BGo

то же на эмуляторе:
http://www.youtube.com/watch?v=X_XEqJYQlMU


10 Aug 2010 21:58
Profile WWW
Doomed
User avatar

Joined: 05 Nov 2007 05:08
Posts: 487
Location: Украина
Reply with quote
Post 
кстати, только одна таблица синусов занимает 180 байт ;)
841 байт - векторное описание надписей "FASM" и "ФАХ²ВЕЦЬ",
подпрограммы рисования линий и окружностей работают с 16-битными координатами, подпрограмма рисования окружностей может также рисовать дуги с шагом 1/8 окружности в любой комбинации. синус - с любыми углами в градусах (автоматически приводится к диапазону 0-90)... так что, кое-что там отимизировать однозначно можно, но насчёт 512 байт меня терзают смутные сомнения :P


10 Aug 2010 23:19
Profile WWW
Doomed
User avatar

Joined: 05 Nov 2007 05:08
Posts: 487
Location: Украина
Reply with quote
Post 
вообще-то это я пишу либу для себя (наверстываю упущенное), и данная дема - фактически ее испытание, а не пример оптимальности или минимальности. конечно, с точки зрения алгоритмов у меня пробел в образовании, поэтому могу чего-нибудь оптимального "всем известного" не знать, но главное для меня - желаемый результат достигается ;) таблица синусов - для рисования синусоиды. круги рисую брезенхемом ;) кв. корень пока не реализовывал, хотя не помешал бы.


12 Aug 2010 02:31
Profile WWW
Doomed
User avatar

Joined: 05 Nov 2007 05:08
Posts: 487
Location: Украина
Reply with quote
Post 
круги делаются алгоритмом брезенхема без синусов, корней и таблиц :)

синус используется здесь для рисования синусоиды, причем функция целочисленная, она не выдает синус, а выдает произведение переданной константы на синус угла в градусах, взятый из таблицы ;)
таблица состоит из двойных слов синус угла * 65536. после умножения на слово получаем двойное слово, в качестве результата используем старшее слово, младшее отбрасываем (очень быстрое деление на 65536). вот.


12 Aug 2010 06:37
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 32 posts ]  Go to page 1, 2, 3  Next

Who is online

Users browsing this forum: No registered users and 8 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

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.