nedoPC.org

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



Reply to topic  [ 82 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6  Next
6502 
Author Message
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Я тут несколько озадачился одним вопросом и нигде ответа не нахожу... :-?

Подавляющее большинство программ для NES начинаются вот так:
Code:
        SEI          ; disable IRQs
        CLD          ; disable decimal mode

или
Code:
        SEI                     ; Запрет маск. прерываний INT
        CLD                     ; Сброс десятичного режима

А что, у 65хх по сбросу прерывания не запрещаются аппаратно, как у i8080 ?

_________________
iLavr


17 Aug 2017 22:55
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post Re:
Lavr wrote:
MC68k wrote:
в аппле процедура ввода с клавиатуры равна одной команде
Code:
LDA $C000
Но я задал совершенно другой вопрос: популярные ПК построенные на 6502,
имели ну хоть как-то стандартизированные подпрограммы своих системных ПЗУ
?

Ну типа, как был негласный стандарт в наших популярных поделках на i8080:
Code:
0F803H
...

Оказывается "негласный стандарт" и для Apple I был. Да и ввод с клавиатуры НЕ равен одной команде...
Attachment:
apple_subs.gif
apple_subs.gif [ 12.47 KiB | Viewed 17858 times ]

_________________
iLavr


23 Aug 2017 07:15
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
Mежду тем легендарный MOS 6502 до сих пор продаётся :)
Image
MPU R6500 CISC 8-Bit 1MHz 40-Pin CDIP

На http://www.jameco.com его можно приобресть за:
6502 1x$5.95 10x$5.49

Упорядочивая топик, решил проверить, а продаётся ли легендарный MOS 6502 до сих пор
по ссылке топикстартера? Всё же 9 лет почти прошло... :wink:

Так ведь продаётся всё ещё этот 1-мегагерцовый 6502 от Rockwell ! :o
https://www.jameco.com/z/6502-Major-Brands-MPU-R6500-CISC-8-Bit-1MHz-40-Pin-CDIP_43191.html

И на 28 июня 2018 был куплен 65 раз, цена всё та же: $5.95

_________________
iLavr


28 Jun 2018 04:58
Profile
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22381
Location: Silicon Valley
Reply with quote
Ну там скорее осталось 65 штук (in stock)

А вообще Jameco до сих пор торгует всяким старьём типа 8080, 8085, 8086, 8088, 6800, 6809

Но почему то "новые" 6502 от WDC у них больше не продаются...

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


28 Jun 2018 20:47
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
почему то "новые" 6502 от WDC у них больше не продаются...

Я когда покупал себе 65С02, то от WDC на Ali - тоже не нашел.
Похоже, что WDC продает их сам.

Shaos wrote:
Ну там скорее осталось 65 штук (in stock)
Я там прочитал буквально:
Quote:
65 ship on Jun. 28



P.S. Да, видимо, здесь "ship" в значении "к поставке". За прошедшие сутки парочку поставили:
Quote:
63 ship on Jun. 29

_________________
iLavr


28 Jun 2018 20:52
Profile
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22381
Location: Silicon Valley
Reply with quote
Это значит, что готовы отправить 65 прям щас - если закажешь больше, то они сколько-то недель будут ждать доставки извне и только потом отправят

P.S. Уже 63 - кто-то купил парочку ;)

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


28 Jun 2018 21:22
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Что-то меня тут по мере углубления в дебри микропроцессора 6502 одна мысль огорошила
просто как "пустым мешком по голове"... :o

Микропроцессоры типа i8080 и Z80 имеют раздельные выводы чтения и записи:
RD и WR (могут называться иначе, не в этом суть).
То есть, i8080 и Z80 могут читать, могут писать, а могут заниматься и внутренними
делами, при этом НЕ читать и НЕ писать.

У микропроцессора 6502 интерфейс несколько иной - есть сигнал R/W - тип операции, и
по активному сигналу Ф2 эта операция выполняется.
Для микропроцессора 6502 есть свой набор микросхем с таким интерфейсом R/W и Е(Ф2).

Но когда мы подключаем к 6502 микросхемы, ориентированные на RD и WR, рекомендуют
вот такое включение:

Image

Оно меня и озадачило... :-?

Значит если 6502 занят внутренними делами, он НЕ пишет, значит R/W = "1", но поскольку
Ф2 - задается генератором, то он "молотит" всегда, и получается, что эта схема всегда посылает
активный сигнал /READ, даже когда он не нужен?
:roll:

Ну да - можно вспомнить, что для включения внешних ИС нужен еще и активный сигнал выборки - /CS.
Но его обычно формирует дешифратор на шине адреса, и как бы не менялось состояние шины адреса,
этот дешифратор что-то да выберет, а постоянно активный сигнал /READ заставит выдать
что-то на шину данных? :roll:

Вот я смотрю на эту простейшую схему:

Image

Получается, что мои рассуждения верны?
Или я что-то не совсем так понимаю в интерфейсе 6502 с устройствами на шинах?

_________________
iLavr


14 Jul 2018 02:28
Profile
Doomed
User avatar

Joined: 05 Nov 2007 05:08
Posts: 487
Location: Украина
Reply with quote
Quote:
Подавляющее большинство программ для NES начинаются вот так:

Иногда неплохо делать на старте то, что делается по сбросу, для ситуаций вроде "сброса изнутри": jmp 0 или т.п.


14 Jul 2018 09:44
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
shoorick wrote:
Иногда неплохо делать на старте то, что делается по сбросу, для ситуаций вроде "сброса изнутри": jmp 0 или т.п.

А есть уверенность, что это делается по сбросу?
Code:
        SEI          ; disable IRQs
        CLD          ; disable decimal mode

Я спросил об этом ранее: http://www.nedopc.org/forum/viewtopic.php?p=137994#p137994
Но что-то никто однозначно не ответил, делает ли 6502 хотя бы SEI (disable IRQs) аппаратно на старте?
Складывается впечатление, что - нет. :-?

_________________
iLavr


14 Jul 2018 12:51
Profile
Doomed
User avatar

Joined: 05 Nov 2007 05:08
Posts: 487
Location: Украина
Reply with quote
а че вы не читаете доки? я только что впервые в жизни вник в 6502, открыл док и наблюдаю на стр.8, что рэсэт ставит маску для прерываний. это же делает обычное прерывание, а также, видимо, и необычное (NMI), которое, как написано, делает то же, что и обычное.
не могу вставить цитату, т.к. там изобр.


14 Jul 2018 13:03
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
shoorick wrote:
а че вы не читаете доки?

А кто сказал, что я их не читаю? :roll:
Вы открыли один док, а я их открыл очень много, ибо 6502 не такой однозначный проц, как i8080...
Куча вариантов его: и в одних доках одно написано, в других - другое...
Но чисто из практики программы очень часто начинают с этих строк:
Code:
        SEI          ; disable IRQs
        CLD          ; disable decimal mode

Вот мне и стало интересно - зачем дублируют SEI ?
Вот, к примеру, один человек пишет:
Code:
;   The next bit of code is pretty standard. When the Atari
;   starts up, all its memory is random scrambled. So the first
;   thing we run is "SEI" "CLD" and "TXS".
;   Look these up if you want,
;   for now know that they're just good things to cleanse
;   the palette...

   sei    ;Disable Any Interrupts (hey! comments can go on the side!)
   cld      ; Clear BCD math bit.
   ldx #$FF ; set X to the top of the memory we have,
   txs    ; ...and set the stack pointer to what X is...i.e. #$FF aka 255

Но что-то объяснение про "memory is random scrambled" меня ни в чем не убеждает... :lol:

_________________
iLavr


14 Jul 2018 13:14
Profile
Doomed
User avatar

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


14 Jul 2018 13:19
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
shoorick wrote:
Ну, я пока не видел других доков,

Ну а я - видел... и если я чего-то не знаю, я люблю, чтобы "правда" в разных доках проявилась
хотя бы в соотношении 3:1. :wink:
shoorick wrote:
из области анекдота:
- а ты зачем подряд два джампа поставил?
- а вдруг первый не сработает!
(таблица переходов не в счет)
А может он конвеер "обманул" при обращении к УВВ? :mrgreen:

_________________
iLavr


14 Jul 2018 13:24
Profile
Doomed
User avatar

Joined: 05 Nov 2007 05:08
Posts: 487
Location: Украина
Reply with quote
Lavr wrote:
Ну а я - видел... и если я чего-то не знаю, я люблю, чтобы "правда" в разных доках проявилась хотя бы в соотношении 3:1.

Правды может и не быть, т.к. есть еще Errata и клоны со своими багами, у которых поведение может зависить от даты выпуска ;)


14 Jul 2018 13:38
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
shoorick wrote:
Lavr wrote:
Ну а я - видел... и если я чего-то не знаю, я люблю, чтобы "правда" в разных доках проявилась хотя бы в соотношении 3:1.

Правды может и не быть, ...

Я всегда лелею надежду, что в соотношении 3:1 некая "правда" должна быть... :wink:

i8080 тоже делали разные производители, и есть известные мелкие разночтения,
но я не видел, чтобы программы для i8080 массово начинали с CLI.

_________________
iLavr


14 Jul 2018 13:44
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 82 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6  Next

Who is online

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