nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 18 Oct 2019 23:32



Reply to topic  [ 100 posts ]  Go to page 1, 2, 3, 4, 5 ... 7  Next
"Аюша" - Контроллер на процессоре 6502 
Author Message
Doomed
User avatar

Joined: 13 Nov 2007 12:09
Posts: 345
Location: Ставрополь
Reply with quote
Похвалюсь собранной машинкой на 6502, http://www.qsl.net/rw6hrm/html/6502.htm Просьба не пинать ногами, аппарат собирался исключительно для успокоения нервов (см. фото обратной стороны платы) и чтоб не парить себе мозги всякими ардуиноподобностями. Использовалось только то, что было под руками, посему некоторые решения могут вызвать приступы критики ;). Проект потихоньку доделываю, сейчас на очереди терминал с "кассетным" интерфейсом (в кавычках потому, что он будет совместим с кассетниками).


06 May 2014 10:19
Profile WWW
Doomed
User avatar

Joined: 05 Apr 2011 13:45
Posts: 478
Location: Великий Новгород
Reply with quote
Post 
Отличная работа, вполне понятно и доступно написано

_________________
танцуй пока живешь под каплями огненного дождя...


06 May 2014 22:51
Profile
Senior

Joined: 07 Dec 2010 03:51
Posts: 153
Location: РФ г.КЕМЕРОВО
Reply with quote
Post 
Мне тоже всё очень понравилось,даже сразу "зачесалось" самому такой контроллер собрать :roll:

Перерыл закрома --нашёл на платах HD63B50P и HD63B21P,а ещё EF68B21P,EF68B40P,EF68B02P :-? Это он? В смысле EF68B02P и 6502 одно и тоже?

_________________
В байте 8 бит,а в каждом четвёртом 9 ! ! ! Потомушта он высокосный ! ! !


07 May 2014 04:32
Profile
Doomed
User avatar

Joined: 13 Nov 2007 12:09
Posts: 345
Location: Ставрополь
Reply with quote
Post 
6350 и 6850 в принципе одно и то же, это как раз УАРТы. А вот 6802 - http://pdf1.alldatasheet.com/datasheet- ... 8B02P.html - это мотороловский проц, из которого (точнее из 6800) как раз 6502 и вырос. Они несовместимы по выводам и частично программно. Поэтому можно сотворить что-то своё, но оно будет иметь уже другое ПО...

6321/6821 - периферийный интерфейсный адаптер, http://pdf1.alldatasheet.com/datasheet- ... 63B21.html Можно считать, что это типа 580ВВ55 (как прибор, не как аналог)

6840 - программируемый таймер. http://pdf1.alldatasheet.com/datasheet- ... 8B40P.html Практически 580ВИ53 (не аналог)


07 May 2014 05:07
Profile WWW
Doomed

Joined: 18 Nov 2013 03:38
Posts: 612
Location: Москва
Reply with quote
Post 
Мне понравился проект. Сам конечно не планирую собирать, потому что не фанат 6502. Я бы скорее что-то такое с 8088 замутил, или с 8086, ибо проще вроде. Но ессно знаний не хватает, поэтому с удовольствием читаю про такие проекты, и завидую...


07 May 2014 08:57
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Tronix wrote:
потому что не фанат 6502...

И даже в "Денди" не играл? :wink: Когда мне захотелось восполнить пробел в своих
знаниях по поводу 6502 - пришлось скупить "Дендиков" и скачать их эмуляторы.

Процессор очень интересный, и я для себя "нового" старого почерпнул. 8)
Процессор ориентированный на пространство памяти, то есть: ячейки памяти,
по сути, были его регистрами.

Самое занимательное, если есть желание поиграться с 6502 - то "Денди"
самый лёгкий путь, хотя и в "Дендиках" 6527 интегрированный в общий кристалл,
но отличия там не фатально велики.

_________________
iLavr


07 May 2014 11:04
Profile
Doomed

Joined: 18 Nov 2013 03:38
Posts: 612
Location: Москва
Reply with quote
Post 
Ну конечно играл. И даже пытался под него хеллоу ворд написать, уже в эпоху эмуляторов, но меня отпугнули разные мепперы и работа с видеопамятью. Ну и вообще, с детства не начал, а сейчас уже поздно, имхо...


07 May 2014 11:47
Profile
Doomed

Joined: 18 Nov 2013 03:38
Posts: 612
Location: Москва
Reply with quote
Post 
Да и не может человек быть гениальным в разных областях. Я вот считаю, что не очень плохо в X86 кодю. Кто-то в Z80, кто-то в PDP-11. Есть кодеры и на 6502, но я точно не один из них. Ну, просто не очень интересно. Я, как человек пробовавший, тыкался как в младенец в стену - ну не знакомо все, после x86 не привычно... Не сраслось, вообщем.


07 May 2014 11:53
Profile
Doomed

Joined: 18 Nov 2013 03:38
Posts: 612
Location: Москва
Reply with quote
Post 
Кстати, примерно такая же ситуация у меня с Z80. Не могу прогать на этом ассемблере. Понимаю, что это звучит нелепо, и все говорят что Z80 гораздо проще X86, но нет. Могу, но через силу и не в "кайф". Если на x86 кодишь, прям кодишь, то на z80 на каждую новую инструкцию сверяешь с инетом и не "полета мысли".


07 May 2014 12:09
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Tronix wrote:
ну не знакомо все, после x86 не привычно...

А для меня в этом был особый кайф, хотя ты правильно передаешь впечатления...

Но я довольно часто и довольно небезуспешно проверяю на себе самом известную
поговорку:"человек, хорошо освоивший ассемблер одного процессора и
один язык высокого уровня, справится и с всеми остальными!
"

И ты знаешь, получается, что это - правда в основном... Сначала всё кажется "не таким"
и "неудобным", но потом замечаешь, что и в совсем другой системе есть свои интересные фишки...

Больше всего меня поставил в тупик EDUC-8... в нём нет аналога MVI A,41H... но потом всё же справился... :D


А на Z80 я обычно кодю как на 580ВМ80, привлекая, если надо, его быстрые блочные операции.
Я впервые с трудом переходил с 580ВМ80 на 1816ВЕ35-48, который ты недавно кодил, и тут очень
полезны макросы: я для себя назвал R0...R5 как H,L,D,E,B,C и процесс вдруг пошел!
Всё дело в привычках... а процессоры - очень похожи, в принципе-то... :wink:

_________________
iLavr


07 May 2014 12:17
Profile
Doomed

Joined: 18 Nov 2013 03:38
Posts: 612
Location: Москва
Reply with quote
Post 
Lavr wrote:
а процессоры - очень похожи, в принципе-то... :wink:

Ну согласен ессно. И да, новые архитектуры по своему интересны. Но состояние "кодить" у меня бывает только на x86. На всех других цпу приходится думать перед написанием того или иного оператора, и мысль основная как бы теряется... Но я согласен, любые архитектуры очень интересны. И то, что смастерил топикстартер, тем более. Ибо меня всегда воодушевляют вещи, сделанные своими руками.


07 May 2014 12:28
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Post 
А я, сорри, немножко пооффтоплю, но просто, думаю, Tronix-у будет прикольно... :lol:

В общем приспичило мне срочно написать на ассемблере PIC16F84A для вот такой
схемы
этот извечный "НЕLLO..." :wink:

Image

Писать накануне майских праздников мне было просто лень... и я подумал, что "НЕLO"
для 1816ВЕ35 недавно писал Tronix... 8)
А ну-ка перепишу я его алгоритм в коды PIC16F84A, благо они с 1816ВЕ35 довольно похожи...
Ну и поскольку я с системой PIC16F84A давно не работал, то тупил до 2-х часов ночи - где же
у него команда загрузки в аккумулятор? :o

Я совсем забыл, что у PIC16F84A аккумулятор - W ! :o

В общем к 2-м ночи я это вспомнил... :lol: но уже так хотел спать, что написал вот такое позорище! :roll:
Code:
;Drive a 8 digit, 7 segment LED display

    list      p=16F84A             ; list directive to define processor
    #include <p16F84a.inc>         ; processor specific variable definitions

    __CONFIG   _CP_OFF & _WDT_OFF & _PWRTE_ON & _RC_OSC

;***** VARIABLE DEFINITIONS
porta  equ  0x05
portb  equ  0x06
delay  equ  0x0c   
digit  equ  0x0d
dmask  equ  0x0e
value  equ  0x0f

  org  0x000  ; processor reset vector
  goto    start ; go to beginning of program

  org  0x004; interrupt vector location
  goto  isrv

start
;Clear the PORTB
  clrf   PORTB
  bsf    STATUS, RP0 ; Select bank 1
;configure all port A bits for output
  clrw
;  tris  porta
  movwf  TRISB;

;configure all port B bits for output
  clrw
;  tris  portb
  movwf  TRISA
  bcf    STATUS, RP0 ; Select bank 0

loop
  movlw  b'01110110' ; H
  movwf  value
  movlw  0x00; digit
  call  displaydigit
  movlw  b'01111001' ; E
  movwf  value
  movlw  0x01; digit
  call  displaydigit
  movlw  b'00111000' ; L
  movwf  value
  movlw  0x02; digit
  call  displaydigit
  movlw  b'00111000' ; L
  movwf  value
  movlw  0x03; digit
  call  displaydigit
  movlw  b'00111111' ; O
  movwf  value
  movlw  0x04; digit
  call  displaydigit
  movlw  b'00001000' ; _
  movwf  value
  movlw  0x05; digit
  call  displaydigit
  movlw  b'01111111' ; 8
  movwf  value
  movlw  0x06; digit
  call  displaydigit
  movlw  b'01100110' ; 4
  movwf  value
  movlw  0x07; digit
  call  displaydigit
  goto  loop

d250
  movlw  0x25
  movwf  delay
l250  decfsz  delay,f
  goto  l250
  return

displaydigit
  andlw  b'00000111'
;select a digit
  movwf  porta
;display a value on the selected digit
  movfw  value
  movwf  portb
;wait for a while
  call  d250
  return

isrv
  retfie
  end

Сам себе сказал - ладно... утром оптимизирую с буфером и таймером...
А утром в праздники глянул и сказал - А фиг с ним... всё и так нормально работает...
Всё равно на 1 раз надо... :lol:

_________________
iLavr


Last edited by Lavr on 07 May 2014 17:16, edited 1 time in total.



07 May 2014 12:52
Profile
Doomed
User avatar

Joined: 13 Nov 2007 12:09
Posts: 345
Location: Ставрополь
Reply with quote
Post 
...ну вы развернулись ;) Тут весь цимус моего контроллера, в отличие от *дуин и голых процов, в том, что тут уже зашит Бейсик. Всё, можно дёргать пинами, музицировать не касаясь кодов. Если есть необходимость экзерсисов на ассемблере, то для этого есть три страницы ПЗУ, куда можно зашить Монитор. Но, имхо, на первых порах он тупо не нужен. Так что разговоры про ассемблер временно считать не к месту ;) Относитесь к этой конструкции как к Спектруму, только на 6502...
А так спасибо за поддержку. Думаю, что через пару недель выложу терминал, который можно будет использовать не токмо для сей схемы, но и циску попрограммить, модемчики всякие...


07 May 2014 13:30
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Post 
rw6hrm wrote:
...ну вы развернулись ;) Тут весь цимус моего контроллера, в отличие от *дуин и голых процов, в том, что тут уже зашит Бейсик. Всё, можно дёргать пинами, музицировать не касаясь кодов.
...
Так что разговоры про ассемблер временно считать не к месту ;)

Вы извините... Ваша конструкция очень интересна и мне, просто разговор так сложился. :wink:

Ни в коем случае не имел намерения к чему-либо излишнему... 8)
Кстати, на PIC16... тоже есть прошивка с Васиком, чтобы "дёргать ногами", не касаясь кодов.

_________________
iLavr


07 May 2014 13:38
Profile
Doomed
User avatar

Joined: 13 Nov 2007 12:09
Posts: 345
Location: Ставрополь
Reply with quote
Post 
Касаемо PIC'а... придётся и его применить в терминале в качестве конвертера PS/2->ASCII. Очень хотелось собрать клаву с нуля, на дискретах, чтобы сразу ASCII-коды получать, но меня явно не поймут.


07 May 2014 13:57
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 100 posts ]  Go to page 1, 2, 3, 4, 5 ... 7  Next

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.