9 бит там
9 бит там
вот описание регистра VIC
$D012 (53266)
Read: Current raster line (bits #0-#7).
Write: Raster line to generate interrupt at (bits #0-#7).
На самом деле все намного проще
Ведь C64 расчитан как бы на две системы NTSC и PAL.
У каждого из них свой кварцевый резонатор, а также как строчная развертка, так и кадровая. Собственно из-за разности кварцевых резонаторов и частота процессора разная.
А теперь мои размышления
система NTSC
частота строк = 15750Гц
частота кадров = 60Гц
система PAL
частота строк = 15625Гц
частота кадров = 50Гц
Итак имеем кварцы
NTSC = 14,31818 МГц
PAL = 17,734472 МГц
Получаем для начала частоту строк
NTSC 14318180 / 909 = 15751 Гц
PAL 17734472 / 1135 = 15625 Гц
Вот после этого начинаются 256 строк для обоих случаев.
Кадровые счетчики при этом в конечном итоге имеют
NTSC 15751 / 262 = 60Гц
PAL 15625 / 312 = 50Гц
Где то так.
NTSC 256 линий прерываний + 6 линий до сброса
PAL 256 линий прерываний + 56 линий до сброса
---------- Post added at 19:34 ---------- Previous post was at 19:32 ----------
Это 9 битный счетчик кадров а не линий прерываний.
Да, у меня вроде как были такие же расчёты) только это было в 2010м году, и по памяти не вспомню, всё дома лежит, а я ещё не приехал)
С уважением, Александр.
Scorpion ZS-256 Turbo+ GMX-2048
SID-Blaster/ZX
Музей ретрокомпьютеров в Минске!
Здесь ничего нет => http://byteman.by
И здесь тоже --->>> http://bytespace.by
Код:$d011 : Control Register 1/ Vertical Fine Scrolling Bits 0-2: Fine Scrolling Value Y-Axis (0-7) Bit 3: # Text Display Rows (1=25 rows, 0=24 rows) Bit 4: Blank entire screen to background color (0=blank) Bit 5: Enable bitmap graphics mode Bit 6: Enable extended color text mode Bit 7: MSB of Raster Compare Register ($d012)
Blade, а разъяснить непонятливым?
В смысле Bit 7: MSB of Raster Compare Register ($d012) идет как за девятый бит?
Да.
Код:Bit 7 in register $d011 (RST8) is bit 8 of register $d012. Together they are called "RASTER" in the following. A write access to these bits sets the comparison line for the raster interrupt (see section 3.12.).
Тогда понятно.
Получается, что в принципе все линии кадрового счетчика можно использовать для прерываний.
NTSC 262 линий прерываний
PAL 312 линий прерываний
---------- Post added at 21:44 ---------- Previous post was at 19:51 ----------
Кстати, тут подумал. Так как в SID карте видео ни к чему, то можно немного упростить. И получить необходимые 50 и 60Гц только от одной частоты 15750Гц
60Гц = 15750 / 262
50Гц = 15750 / 315
Как видно в режиме 50Гц будет не 312 линий а 315 линий. Это страшно для SIDа или нет?
Это один вариант.
Второй вариант, использовать загружаемый счетчик для получения строчки.
Тоесть 6510 в процессе инициализации частоты, записывает в конфигурационный регистр коэфициент деления(сравнения).
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)