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


-
fifan
- Devil
- Posts: 917
- Joined: 06 Oct 2006 03:17
- Location: г.Лянтор,Сургутского р-на,ХМАО
-
shoorick
- Doomed
- Posts: 487
- Joined: 05 Nov 2007 05:08
- Location: Украина
да, на краю платы дырочек насверлил, питаю писишным бп (21 век на дворе)
можно, конечно
это сканером снято (эпсон на работе).
обидно, конечно, что пока не пашет, но хорошо, что тест на экран нормально выводит - есть от чего отталкиваться, а то у меня единственное отличие от тех лет - появился старенький осциллограф
надеюсь, заборю 
можно, конечно
обидно, конечно, что пока не пашет, но хорошо, что тест на экран нормально выводит - есть от чего отталкиваться, а то у меня единственное отличие от тех лет - появился старенький осциллограф
-
shoorick
- Doomed
- Posts: 487
- Joined: 05 Nov 2007 05:08
- Location: Украина
Тык-с... збацал тестик
должно быть так:

а в жизне так:

так что буду трейсить А14/А15 тестером
Code: Select all
;=======================================================================
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 тестером
-
shoorick
- Doomed
- Posts: 487
- Joined: 05 Nov 2007 05:08
- Location: Украина
-
shoorick
- Doomed
- Posts: 487
- Joined: 05 Nov 2007 05:08
- 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
просто "видон"
http://www.youtube.com/watch?v=j0fxEjdtRvI
spaceking
http://www.youtube.com/watch?v=fpiGWiIAYCc
пока засунул в корпус от принтера - подошел тютелька в тютельку, что плохо: бп снаружи, расширения лепить негде (если ваще буду их лепить). засунуть пришлось, т.к. на него постепенно начали складывать всякую всячину
http://picasaweb.google.com/shooricks/b ... 1009324562
-
shoorick
- Doomed
- Posts: 487
- Joined: 05 Nov 2007 05:08
- Location: Украина
у себя выложил программу для конвертирования файлов RKS в WAV для загрузки на Специалист через магнитофонный вход. По умолчанию добавляет заголовок для монитора, а также при необходимости может расчитывать контрольную сумму блока.


-
shoorick
- Doomed
- Posts: 487
- Joined: 05 Nov 2007 05:08
- Location: Украина
3kb демо 
http://www.youtube.com/watch?v=HARfDrV7BGo
то же на эмуляторе:
http://www.youtube.com/watch?v=X_XEqJYQlMU
http://www.youtube.com/watch?v=HARfDrV7BGo
то же на эмуляторе:
http://www.youtube.com/watch?v=X_XEqJYQlMU
-
shoorick
- Doomed
- Posts: 487
- Joined: 05 Nov 2007 05:08
- Location: Украина
кстати, только одна таблица синусов занимает 180 байт 
841 байт - векторное описание надписей "FASM" и "ФАХ²ВЕЦЬ",
подпрограммы рисования линий и окружностей работают с 16-битными координатами, подпрограмма рисования окружностей может также рисовать дуги с шагом 1/8 окружности в любой комбинации. синус - с любыми углами в градусах (автоматически приводится к диапазону 0-90)... так что, кое-что там отимизировать однозначно можно, но насчёт 512 байт меня терзают смутные сомнения
841 байт - векторное описание надписей "FASM" и "ФАХ²ВЕЦЬ",
подпрограммы рисования линий и окружностей работают с 16-битными координатами, подпрограмма рисования окружностей может также рисовать дуги с шагом 1/8 окружности в любой комбинации. синус - с любыми углами в градусах (автоматически приводится к диапазону 0-90)... так что, кое-что там отимизировать однозначно можно, но насчёт 512 байт меня терзают смутные сомнения
-
shoorick
- Doomed
- Posts: 487
- Joined: 05 Nov 2007 05:08
- Location: Украина
вообще-то это я пишу либу для себя (наверстываю упущенное), и данная дема - фактически ее испытание, а не пример оптимальности или минимальности. конечно, с точки зрения алгоритмов у меня пробел в образовании, поэтому могу чего-нибудь оптимального "всем известного" не знать, но главное для меня - желаемый результат достигается
таблица синусов - для рисования синусоиды. круги рисую брезенхемом
кв. корень пока не реализовывал, хотя не помешал бы.
-
shoorick
- Doomed
- Posts: 487
- Joined: 05 Nov 2007 05:08
- Location: Украина
круги делаются алгоритмом брезенхема без синусов, корней и таблиц 
синус используется здесь для рисования синусоиды, причем функция целочисленная, она не выдает синус, а выдает произведение переданной константы на синус угла в градусах, взятый из таблицы
таблица состоит из двойных слов синус угла * 65536. после умножения на слово получаем двойное слово, в качестве результата используем старшее слово, младшее отбрасываем (очень быстрое деление на 65536). вот.
синус используется здесь для рисования синусоиды, причем функция целочисленная, она не выдает синус, а выдает произведение переданной константы на синус угла в градусах, взятый из таблицы
таблица состоит из двойных слов синус угла * 65536. после умножения на слово получаем двойное слово, в качестве результата используем старшее слово, младшее отбрасываем (очень быстрое деление на 65536). вот.



