nedoPC.org

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



Reply to topic  [ 103 posts ]  Go to page Previous  1 ... 3, 4, 5, 6, 7  Next
Недокомпьютер nedoPC-85-MK 
Author Message
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
Shaos wrote:
P.S. теперь осталось клаву проверить - если заработает, то избыток плат могу распродать по себестоимости ;)

Заработало - себестоимость плюс пересылка будет $50 с хвостиком - хвостик отбросим - кто готов приобресть сию платку (в голом несобранном виде) для экспериментов? :roll:

_________________
:dj: https://mastodon.social/@Shaos


27 Mar 2018 23:30
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
Вот есть видео где объясняется разница в ощущениях от разных Cherry MX кнопок, которые отличаются цветом:


https://youtu.be/L-xfY66-EsA

У меня в своей конструкции припаяны синие кнопки плюс одна красная (под прозрачной крышкой в верхнем ряду "красная функция S")

_________________
:dj: https://mastodon.social/@Shaos


29 Mar 2018 19:46
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
Надо что-то придумать для быстрой загрузки программ, а то прошивать ПЗУ для каждого мало-мальского изменения тестовой программы сильно муторно :roll:

P.S. А вот не представить ли мне себя на месте авторов, которым дали задание сделать клон CASIO FX-700P, но сказали, что процессором должен стать 580ВМ80А (точнее 1821ВМ85А)? ;)

_________________
:dj: https://mastodon.social/@Shaos


30 Mar 2018 20:56
Profile WWW
Doomed
User avatar

Joined: 05 Nov 2007 05:08
Posts: 487
Location: Украина
Reply with quote
сэмулируй ISP ;)


31 Mar 2018 09:39
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
shoorick wrote:
сэмулируй ISP ;)

Не практично
Надо либо сдкард, либо сеть, либо RS-232 на худой конец...

_________________
:dj: https://mastodon.social/@Shaos


31 Mar 2018 10:28
Profile WWW
Doomed
User avatar

Joined: 05 Nov 2007 05:08
Posts: 487
Location: Украина
Reply with quote
sd-card - тоже перетыкаться, хотя и перспективно. можно как Лавр - "печатать" прогу, тем более что есть китайский конвертор CH341A с режимом ЮСБ-ЛПТ (я такой купил, но еще не дошли руки попробовать)


31 Mar 2018 12:10
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
SD-card сильно быстрее будет, чем прошивка ПЗУ-хи с перетыканием...

_________________
:dj: https://mastodon.social/@Shaos


31 Mar 2018 17:32
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
Shaos wrote:
Вобщем распределение адресов такое (жирным выделяю то, что досталось по наследству от nedoPC-85-A):

#0000...#1FFF - ROM8K (основное ПЗУ)
#2000...#3FFF - RAM8K (основное ОЗУ)
#4000...#5FFF - RAM8K' (необязательная вторая микросхема ОЗУ)
#6000...#7FFF - external memory (должно возвращать #FF при чтении если ничего не подключено)
#8000...#9FFF - keyboard (область памяти для опроса клавиатуры)
#A000...#BFFF - NI15 (внешняя шина расширения)
#C000...#DFFF - RAM8K (копия области памяти с адреса #2000)
#E000...#FFFF - ROM8K (копия области памяти с адреса #0000)

Кроме того в nedoPC-85-MK существуют ПОРТЫ :o

#00 - REG0 (регистр подсветки строк)
#01 - REG1 (регистр подсветки колонок первого знакоместа)
#02 - REG2 (регистр подсветки колонок второго знакоместа)
#03 - REG3 (регистр подсветки колонок третьего знакоместа)
#04 - REG4 (регистр подсветки колонок четвёртого знакоместа)
#05 - REG5 (регистр подсветки колонок пятого знакоместа)
#06 - REG6 (регистр подсветки колонок шестого знакоместа)
#07 - REG7 (регистр подсветки колонок седьмого знакоместа)
#08 - REG8 (регистр подсветки колонок восьмого знакоместа)
#09 - REG9 (регистр подсветки колонок девятого знакоместа0
#0A - REG10 (регистр подсветки колонок десятого знакоместа)
#0B - REG11 (регистр подсветки колонок одиннадцатого знакоместа)
#0C - REG12 (регистр подсветки колонок двенадцатого знакоместа)
#0D - OUT1 (первый байт вывода 8 бит)
#0E - OUT2 (второй байт вывода 8 бит)
#0F - SND (звуковой порт для выдачи стерео сигнала 4 бита на канал)

Это было на вывод (все неиспользуемые биты выводятся наружу), а вот на ввод (рекомендованные номера):

#00 - VADR (адресный порт для связи с управляющим устройством)
#01 - VDAT (порт данных для связи с управляющим устройством)
...
#0D - IN1 (первый байт ввода 8 бит)
#0E - IN2 (второй байт ввода 8 бит)
#0F - SYS (биты состояния системы)

P.S. На самом деле на ввод только 7 сигналов CS декодируется, составленных из 3 младших битов адреса, т.е. #0D это тоже самое что #05 и #15 и т.д. - получается, что у нас остаётся 3 свободных сигнала на ввод - порты 2,3 и 4 (или что тоже самое - #0A, #0B, #0C)

#6000...#7FFF - external memory это типа сокет для картриджа - к нему будет подключено 2 сигнала питания, 3 сигнала управления (/CS,/RD,/WR), 8 сигналов с шины данных и 13 сигналов адреса (чтобы покрыть адресное пространство в 8К) - это как минимум.

Кроме того туда же можно подать IO-СSы на вывод #0D, #0E, #0F (дублируют OUT1, OUT2 и SND) и на ввод #0A, #0B, #0C (они сейчас ни к чему не подключены) - причём так их и назвать - A,B,C,D,E,F ;)

Можно ещё один сигнал CONNECTED замкнуть на один из битов порта SYS, чтобы сигнализировать центральному процессору о том, что картридж вставлен (без картриджа оттуда будет читаться "1", а с картриджем - "0"). С другой стороны, чтобы узнать есть ли картридж, можно просто прочитать с адреса #6000 байт и если там #FF, то картридж НЕ вставлен. Хотя это ведь только для ПЗУ будет работать, а картридж может ведь быть и ОЗУ, и даже какой-то более хитрый девайс...

Итого:
Code:
сигналы в 2 ряда:
 1 - A0  | D0
 2 - A1  | D1
 3 - A2  | D2
 4 - A3  | D3
 5 - A4  | D4
 6 - A5  | D5
 7 - A6  | D6
 8 - A7  | D7
 9 - A8  | /RD
10 - A9  | /WR
11 - A10 | /CS (MEMORY #6000...#7FFF)
12 - A11 | /CONNECTED (GND)
13 - A12 | /F - IO write to port F
14 - A13*| /E - IO write to port E
15 - A14*| /D - IO write to port D
16 - A15*| /C - IO read from port C
17 - A16*| /B - IO read from port B
18 - A17*| /A - IO read from port A
19 - A18*| CLK*
20 - GND | +5V

A13-A18 и CLK это на будущее...

P.S. Либо сразу подцепить A13-A18 к какому-то из выходных регистров, например к 6 младшим битам порта D (OUT1)

P.P.S. На простейшем "картридже" с 8КБ на борту можно сделать вот такой коннектор:
https://www.digikey.com/product-detail/en/sullins-connector-solutions/PRPC013DBAN-M71RC/S2111EC-13-ND/2775700
который покроет с 1 по 13 пары контактов плюс на 20-ю пару надо будет отдельно поставить ещё короткий коннектор на 2 ноги...

P.P.P.S. Также можно этот интерфейс сделать частично совместимым с моим NedoMem-интерфейсом 2006 года, чтобы задействовать уже готовые платки памяти - тогда сигналы надо будет немного переставить:
Code:
 1 -  D0 | A0
 2 -  D1 | A1
 3 -  D2 | A2
 4 -  D3 | A3
 5 -  D4 | A4
 6 -  D5 | A5
 7 -  D6 | A6
 8 -  D7 | A7
 9 - _RD | A8
10 - _WR | A9
11 - _CS | A10
12 - A18*| A11
13 - A17*| A12
14 - A16*| A13*
15 - +5V | A14*
16 - GND | A15*_____ nedoMem
17 - CON | CLK      extension
18 -  /F | /A
19 -  /E | /B
20 -  /D | /C
Последние 4 пары контактов - расширение старого формата (новый интерфейс назвать скажем nedoMem+)

_________________
:dj: https://mastodon.social/@Shaos


31 Mar 2018 21:08
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
Кстати можно программно сделать "оттенки серого" ( точнее красного ; ) на моём светодиодном дисплее :mrgreen:

Для этого вместо показа одного байта на каждую 5-пиксельную площадку в течении времени T (как сейчас), показываем 2 байта:
- первый в теченим времени T/2;
- второй в течении времени T.
В результате имеем, если A это логический уровень в соответствующем бите первого байта и B это логический уровень в соответствующем бите второго байта, Y=A/2+B или
A=0 B=0 -> Y=0.0
A=1 B=0 -> Y=0.5
A=0 B=1 -> Y=1.0
A=1 B=1 -> Y=1.5
т.е. 4 уровня яркости на пиксел ;)

_________________
:dj: https://mastodon.social/@Shaos


02 Apr 2018 21:31
Profile WWW
Doomed

Joined: 25 Aug 2009 07:02
Posts: 459
Location: Москва
Reply with quote
ЦАП со сглаживающим фильтром прям в глазу :)
Хотя, такое на задних фонарях машин тоже можно видеть, если он типа стоп, то светит ровно, если типа он габарит, то при движении глазами рассыпается на черточки.


03 Apr 2018 08:49
Profile
Doomed

Joined: 08 Apr 2013 04:04
Posts: 449
Location: 213.247.249.139
Reply with quote
А вот кстати кнопочки эти, они с кликом? Или просто нажимаешь пружинку?

_________________
привет засранцу лавру :)


03 Apr 2018 08:58
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
angry_troll wrote:
А вот кстати кнопочки эти, они с кликом? Или просто нажимаешь пружинку?

Видео последнее посмотри с включённым звуком :lol:

https://youtu.be/ovbWamS7imU

_________________
:dj: https://mastodon.social/@Shaos


03 Apr 2018 09:20
Profile WWW
Doomed

Joined: 08 Apr 2013 04:04
Posts: 449
Location: 213.247.249.139
Reply with quote
Вот уж насколько не люблю инфу в виде видео... Теперь придётся втыкать :-]

_________________
привет засранцу лавру :)


03 Apr 2018 10:11
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
angry_troll wrote:
Вот уж насколько не люблю инфу в виде видео... Теперь придётся втыкать :-]

Ну на самом деле, чтобы получить всеобъемлющую инфу по звуку, надо послушать звук :roll:

_________________
:dj: https://mastodon.social/@Shaos


03 Apr 2018 17:00
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
Теперь надо наверное изложить исходники последних тестов (которые пишут текст и опрашивают клаву) - по сути там 8 раз повторяется один и тот же кусок кода (программу я вбивал прямо в шестнадцатиричных кодах в редакторе досовской утилиты для программатора ПЗУ):
Code:
3E MVI A,10h ; пишем XXXXO
10
D3 OUT 1
01
3E MVI A,00h ; пишем XXXXX
00
D3 OUT 2
02
3E MVI A,11h ; пишем OXXXO
11
D3 OUT 3
03
3E MVI A,18h ; пишем XXXOO
18
D3 OUT 4
04
3E MVI A,0Eh ; пишем XOOOX
0E
D3 OUT 5
05
3E MVI A,1Fh ; пишем OOOOO
1F
D3 OUT 6
06
3E MVI A,10h ; пишем XXXXO
10
D3 OUT 7
07
3E MVI A,11h ; пишем OXXXO
11
D3 OUT 8
08
3E MVI A,1Fh ; пишем OOOOO
1F
D3 OUT 9
09
3E MVI A,1Fh ; пишем OOOOO
1F
D3 OUT 10
0A
3E MVI A,1Fh ; пишем OOOOO
1F
D3 OUT 11
0B
3E MVI A,1Fh ; пишем OOOOO
1F
D3 OUT 12
0C
3E MVI A,0FDh ; 11111101 <<<< подсвечиваем ноликом нужную строку дисплея
FD
D3 OUT 0
00
3E MVI A,100 ; ждёмс 100 раз
64
3D DCR A <---\
CZ JNZ ------/
XX
XX
3E MVI A,0FFh ; 11111111 <<<< убираем индикацию
FF
D3 OUT 0
00
; и т.д.

как видим выводимый текст зашит прямо в код (точнее картинка текста по 5 пикселов на байт) - цикл задержки занимает 14 тактов, обёртка вокруг - 245, т.е. одна горизонталь выводится за 245+14*N тактов, а весь экран обновляется за 8*(245+14*N) = 1960+112*N, что при N=100 даёт 190 раз в секунду, а если увеличить константу до максимума (0 что даст 256 зацикливаний), то это будет 82 раза в секунду - что тоже должно быть ок (а чтобы получить к примеру 100 FPS надо задать константу 206 или в шестнадцатиричном виде CE, а для 200 FPS - 94 или 5E)

для вывода состояния нажатых клавиш меняется код после 8-го знакоместа (для каждого блока кода из примера сверху):
Code:
3A LDA 9FFEh ; в других блоках 9FFDh, 9FFBh, 9FF7h, 9FEFh, 9FDFh, 9FBFh, 9F7Fh
FE
9F
47 MOV B,A
E6 ANI 1Fh
1F
D3 OUT 11 ; младшие 5 бит уходят в знакоместо 11
0B
78 MOV A,B
E6 ANI 0E0h
E0
07 RLC
07 RLC
07 RLC
D3 OUT 12 ; старшие 3 бита уходят в знакоместо 12
0C

вот собственно и всё :)

_________________
:dj: https://mastodon.social/@Shaos


03 Apr 2018 19:46
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 103 posts ]  Go to page Previous  1 ... 3, 4, 5, 6, 7  Next

Who is online

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