nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 25 Feb 2021 18:25



Reply to topic  [ 36 posts ]  Go to page Previous  1, 2, 3
6502 Dendy-Computer 
Author Message
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Konstantin18 wrote:
разъемы Read и Write для чего используются ? Это что ввод-вывод с магнитофона ???

Да, это ввод-вывод с магнитофона. Вот ссылочка ранее была:
http://www.nedopc.org/forum/viewtopic.php?f=104&t=10219#p138032

И даже схема на отечественных элементах в топиках была:
Attachment:
NES_4x.jpg
NES_4x.jpg [ 211.19 KiB | Viewed 470 times ]

_________________
iLavr


04 Feb 2021 17:38
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Lavr wrote:
И я вот подумал, чтобы не морочить себе голову всякими преобразователями интерфейсов на начальном
этапе, эту клавиатуру можно просто сделать из любой старенькой клавиатуры IBM-PC...

Но вдруг неожиданно меня шальная мысль посетила:"А не сделать ли клавиатуру для Dendy-Computer-а
из вот этой игрушки? :roll: Зря что ли я на неё деньги тратил?
"

Image

Но при ближайшем рассмотрении выяснилось, что кнопок у неё маловато, и кнопки тактильно не очень удобные... :-?

И я решил глянуть, как в NES программно работают со своей FC_Keyboard, и был ли смысл в их схемотехнике
тогда как любую из современных клавиатур, что XT, что PS/2 NES в принципе может прочитать и вовсе
без аппаратных примочек. NES свои джойстики читает в последовательном коде практически как байт
по интерфейсу клавиатуры...

Чтобы было понятнее разбираться с кодом, отрисовал я схему FC_Keyboard целиком:
Attachment:
FC Family Basic Keyb.gif
FC Family Basic Keyb.gif [ 17.53 KiB | Viewed 445 times ]

И очень полезно посматривать при разборе кода на схему NES, чтобы было видно, как порты её работают:

 NES схема электрическая принципиальная
Attachment:
NES_8bit_full.gif
NES_8bit_full.gif [ 97.84 KiB | Viewed 445 times ]

Код обслуживания клавиатуры оказался следующий:

 Код обслуживания клавиатуры
Code:
;-------код по версии Family BASIC (J) (V2.0a)
af9b:   A9 05             LDA #$05  ; 0000.0101b
af9d:   8D 16 40          STA $4016 ; reset (force row 0)
afa0:   EA                NOP
afa1:   EA                NOP
afa2:   EA                NOP
afa3:   EA                NOP
afa4:   EA                NOP
afa5:   EA                NOP
afa6:   A2 00             LDX #$00; индекс $0634+X
;---------------------------------- KBD CYCLE
afa8:   A9 04             LDA #$04;  0000.0100b
afaa:   8D 16 40          STA $4016; request LSB of NEXT row
;---------------------------------- DELAY
afad:   A0 0A             LDY #$0A
afaf:   88                DEY
afb0:   D0 FD             BNE $AFAF
afb2:   EA                NOP
afb3:   EA                NOP

afb4:   AD 17 40          LDA $4017;   @ $4017 = $DE
afb7:   4A                LSR;         xxxK KKKx --> xxxx KKKK
afb8:   29 0F             AND #$0F;    0000 KKKK
afba:   9D 34 06          STA $0634,X; 0000 KKKK --> $0634+X
afbd:   A9 06             LDA #$06
afbf:   8D 16 40          STA $4016

;---------------------------------- DELAY
afc2:   A0 0A             LDY #$0A
aFc4:   88                DEY
afc5:   D0 FD             BNE $AFC4
afc7:   EA                NOP
afc8:   EA                NOP

afc9:   AD 17 40          LDA $4017;
afcc:   2A                ROL;         xxxK KKKx  -->  xxKK KKxx
afcd:   2A                ROL;         xxKK KKxx  -->  xKKK Kxxx
afce:   2A                ROL;         xKKK Kxxx  -->  KKKK xxxx
afcf:   29 F0             AND #$F0;    KKKK 0000
afd1:   1D 34 06          ORA $0634,X; KKKK 0000 OR 0000 KKKK = KKKK KKKK
afd4:   49 FF             EOR #$FF; инверсия байта

afd6:   A0 08             LDY #$08; 0000 1000b

afd8:   0A                ASL;
afd9:   7E 34 06          ROR $0634,X; @ $0634 = $00
afdc:   88                DEY;
afdd:   D0 F9             BNE $AFD8
afdf:   E8                INX;       увеличить индекс $0634+X
afe0:   E0 09             CPX #$09;  если еще не 9-й проход цикла
afe2:   D0 C4             BNE $AFA8; --> KBD CYCLE

Особых изысков в нём нет, если в коде 6502 вообще возможны изыски... :wink:

Для понимания работы аппаратной части весьма полезно прочитать Family BASIC Keyboard Nesdev wiki.
Чтобы не заморачивать себе постоянно голову переводом, я сделал себе компактный дайджест на русском:
Attachment:
Family BASIC Keyboard.zip [74.37 KiB]
Downloaded 8 times

В итоге мнение у меня сложилось следующее: аппаратная часть Family BASIC Keyboard не сильно упрощает
программно-аппаратный опрос клавиатуры.

И посмотрел я на свои Дендики - а у меня, похоже, и нет этого широкого коннектора под Family BASIC Keyboard... :-?

Сейчас намерен я с реализацией интерфейса RS-232 в NES разобраться. Возможно, имеет смысл
через него прицепить и стандартную клавиатуру и ввод/вывод программ...

_________________
iLavr


06 Feb 2021 08:52
Profile
Maniac

Joined: 15 Jan 2019 16:48
Posts: 239
Location: Украина, Луганская обл.
Reply with quote
Lavr wrote:
посмотрел я на свои Дендики - а у меня, похоже, и нет этого широкого коннектора под Family BASIC Keyboard... :-?

По вашей ссылке можно увидеть плату весьма похожую на эту:
Attachment:
1.jpg
1.jpg [ 14.52 KiB | Viewed 420 times ]

которая собрана на микросхеме UM6551, у вас на какой-то из плат она тоже есть.

Вот срисованная схема такой платы:
 схема такой платы на микросхеме UM6551
Attachment:
dendy_noac_6561_full.gif
dendy_noac_6561_full.gif [ 222.47 KiB | Viewed 421 times ]

Один из разъемов джойстиков, а именно JOYB содержит все необходимые сигналы.
Также их можно увидеть прямо на ногах 6551.


Last edited by Konstantin18 on 06 Feb 2021 13:15, edited 6 times in total.



06 Feb 2021 12:45
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Lavr wrote:
любую из современных клавиатур, что XT, что PS/2 NES в принципе может прочитать и вовсе
без аппаратных примочек.

И, похоже, вот тут один чувачок под ником Skidlz эту мысль успешно реализовал!

NES-OS: A PS/2 keyboard interface, command line and assorted programs for the
Nintendo Entertainment System


Ну что тут скажешь... "всё уже украдено до нас!"... :wink:

_________________
iLavr


06 Feb 2021 13:41
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Lavr wrote:
намерен я с реализацией интерфейса RS-232 в NES разобраться. Возможно, имеет смысл
через него прицепить и стандартную клавиатуру и ввод/вывод программ...

В общем - поразбирался, в целом - не остался в восторге...

Я так предварительно представлял себе следующий вариант, если карта памяти NES вот такая:
Attachment:
NES_main-MEM.png
NES_main-MEM.png [ 6.38 KiB | Viewed 357 times ]

То если есть идея использовать NES как небольшой компьютер, во всю доступную область следует
включить одну микросхему ОЗУ, а ПЗУ сделать теневым, всплывающим по RESET.
При старте NES ПЗУ переписывает из себя загрузчик по адресам $0000-$00FF и уходит в тень.
Загрузчик по RS-232 грузит всё что хочешь по адресам $5000-$FFFF и отдаёт туда управление.

Ну можно еще адаптированный Woz Monitor развернуть из ПЗУ - он маленький... 254 байта.

И мне казалось, что в этой серии басен идея похожая на мою:
NES boot-loader specification; NES boot-loader usage

Но они очень перемудрили, на мой взгляд... :-?
Маленький хитрозадуманный бутлоадер должен загрузить более мощный бутлоадер... :o
Хотя по месту $0000-$00FF можно загрузить весь Woz Monitor! :roll:

Ну да ладно... примеры кода есть, хотя на мой взгляд для NES загрузчик по RS-232 надо
бы сделать частично аппаратный. По крайней мере - регистр сдвига.

В общем, кому интересно, здесь перевод этой многословной болтовни:
Attachment:
NES to RS-232.zip [45.56 KiB]
Downloaded 5 times

И я прихватил немного материала по ссылкам:
http://forums.nesdev.com/viewtopic.php?f=9&t=6720
http://forums.nesdev.com/viewtopic.php?f=9&t=6720&start=15
http://forums.nesdev.com/viewtopic.php?f=9&t=6720&start=30
Но переводить я это уже не стал - там обсуждали скорости софтового RS-232...

_________________
iLavr


09 Feb 2021 18:19
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Lavr wrote:
Мне не довелось поиграть в Деньди и в силу возраста и в силу того,
что я считал приставку довольно глупой поделкой рядом с тем же Спектрумом,
по той причине, что Спек - хоть и убогий но компьютер...

Но когда Деньди притворяется компьютером - это даже очень прикольно! :roll:
Что-то меня проплющило попрограммировать на Васике... :wink:
Attachment:
fb2.gif
fb2.gif [ 10.25 KiB | Viewed 309 times ]

тем более, что, оказывается, не один я такой... народ вон даже видео учебные выкладывает! :o
Family Basic Tutorial Part_1, Family Basic Tutorial Part_2

А поскольку я на этом Family Basic могу без описания напрограммировать только то, что на картинке,
то я подумал, что надо бы найти мануал на этот программный продукт, и, немного поискав, я его таки
нашел, хотя это оказалось не столь просто... :-?

Но попался мне сайт хороший https://famicomworld.com, где люди увлечены этой своей приставкой
ничуть не меньше, чем мы тут своими затеями! :kruto:
Вот у них я и нашел Family Basic Manual V2, а еще немного полистав их форум,
и книжку обнаружил Let`s Play with Family Basic

Ощущаю некий ностальгический камерный кайфец от программирования на Basic-е в маленьком окошечке... :D

_________________
iLavr


11 Feb 2021 20:42
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 36 posts ]  Go to page Previous  1, 2, 3

Who is online

Users browsing this forum: No registered users and 1 guest


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.