С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
всю тему я вряд ли прочитаю. однако в чём прикол "очердного" варианта ядра 6502 ? Его даже на транзисторах спаяли...
В данном случае этот опкод работает с учетом физики, нежели электроники и логики, используется электрическая емкость шины и постоянная времени, с которой эта шина разряжается, но это частный случай, есть некоторые опкоды, которые например драйвят на шину несколько источников одновременно и кто победит в этом случае? разумеется земля.Эти нюансы не учитывали разработчики, поэтому эти моменты весьма нестабильны и используются на свой страх и риск, плюс огромная зависимость от температуры кристалла. Об этом в частности можно почитать здесь: https://www.masswerk.at/6502/6502_instruction_set.html
Вот к примеру цитата про "магическую константу"В CMOS версии 65С02 этих нестабильных опкодов в принципе нет, потому как там уже эти особенности NMOS не работают.Highly unstable, do not use. A base value in A is determined based on the contets of A and a constant, which may be typically $00, $ff, $ee, etc. The value of this constant depends on temerature, the chip series, and maybe other factors, as well. In order to eliminate these uncertaincies from the equation, use either 0 as the operand or a value of $FF in the accumulator.
По поводу 6502 на транзисторах, очень забавная поделка, отличная наглядная модель, однако это больше показометр, нежели процессор, ибо граничная тактовая частота если и будет 100 - 200 килогерц - то это хорошо. Его например в денди не встроишь, иначе устанешь ждать когда он отработает.Да, есть множество других HDL ядер 6502 и на основе нетлиста также, я их много перепробовал разных, но собрать нормально у меня не получилось, ибо оно на Д-латчах и Квартус сыпет стопицот ворнингов. Либо ядро написано тупо по описанию из вики и при попытке собрать занимает в три раза больше ресурсов в сравнении с ядром на основе реверса. Меня данные факты в корне не устраивают, как и парней с emu-russia, поэтому мы и начали проект по реверсу данного чипа, только вот конечные цели у нас немного разные, кто-то хочет создать тактово - точный эмулятор для PC, а мне нужна была точная реализация на FPGA на столько, насколько это позволяет программная среда разработки и аппаратное обеспечение ALTERA Cyclone.
Последний раз редактировалось and1981; 20.07.2024 в 23:08.
Titus(21.07.2024)
Так точно, аналогичная ситуация и с ППУ, там используется так называемая открытая внутренняя шина данных, иными словами если CPU в PPU не пишет данные, то некоторое время шина за счет емкости хранит последнее состояние. Можно поставить регистр и хранить это сотояние в нем, однако тесты возражают, мол у вас шина за одну секунду примерно должна гарантированно уже забыть всё, а у вас она помнит,как так? непорядок. Была мысль поставить счетчик отдельный и если никто в течении секунды не обращается к шине обнулять по переполнению счетчика этот регистр, но это уже костыли и уход от оригинальной схемы. Аналогично можно вспомнить и как корраптится ОАМ, если не рефрешить его. Даже тест был на определение данного факта "OAM Decay".
Titus(21.07.2024)
NMOS, как и APU. CMOS уже были клоны всё в одном, типа 1818P или 6561 и т д
Titus(21.07.2024)
Я запускал тесты CPU от Blargg-а, на 1818Р, результаты показывают, что вероятно в этом ядре включена BCD коррекция и нестабильные неоф. опкоды 6502 не проходят тест, оно и понятно ибо это уже CMOS, а по поводу BCD видимо тайванцы просто не стали заморачиватся с отключением оной.
Titus(21.07.2024)
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)