В ближайшем времени буду ставить 128к на байт. Многие игрушки во время загрузки определяют какой у тебя комп.(48 или 128) Они определяют прошивку или объём памяти? Придётся ли мне ставить ещё одну прошивку (переключаемую) или не надо?
В ближайшем времени буду ставить 128к на байт. Многие игрушки во время загрузки определяют какой у тебя комп.(48 или 128) Они определяют прошивку или объём памяти? Придётся ли мне ставить ещё одну прошивку (переключаемую) или не надо?
С уважением, Александр.
Scorpion ZS-256 Turbo+ GMX-2048
SID-Blaster/ZX
Музей ретрокомпьютеров в Минске!
Здесь ничего нет => http://byteman.by
И здесь тоже --->>> http://bytespace.by
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
байт (я так понял у тебя он) это вообще тяжелый случай.. но 99% программ используют только обычную 48ю прошивку, так что всё будет нормально
Компьютер из 48K в 128K (и более) можно превратить даже не имея в наличии прошивки BASIC128, важен лишь порт переключения страниц и экранов (7ffd). Проги, по крайней мере подавляющее большинство, в этом случае прекрасно понимают что они работают на Spectrum128. Кроме того интересно и то, что имея только 48К и порт 7ffd сам BASIC128 прекрасно запускается и считает что компьютер Spectrum128 (но кажется также понимает что верхняя память "повреждена").
Детект факта 128К проги осуществляют как правило занесением инфы по #C000-#FFFF и переключением банков памяти с последующим сравнением занесенного и считанного значения.
есть несколько прог которые определяют размер памяти по ячейки ПЗУ или переменной 23388, но таких очень мало
Всё понятно. А то думаю как CHASE HQ определяет. На Spectrum128 грузится дольше и заставка другая и АУ работает...
С уважением, Александр.
Scorpion ZS-256 Turbo+ GMX-2048
SID-Blaster/ZX
Музей ретрокомпьютеров в Минске!
Здесь ничего нет => http://byteman.by
И здесь тоже --->>> http://bytespace.by
В своих программах я определяю 128К такой максимально оптимизированной процедурой:Код:DI LD HL,#D110 LD BC,#7FFD OUT (C),L LD (HL),B OUT (C),H LD (HL),C OUT (C),L LD A,(HL) CP B LD A,L LD (23388),A EI ;на выходе, если Z=1, то 128K
ужас!! никогда так больше не делай. и вообще попорченные ячейки надо восстанавливать.Сообщение от Grand
Из всех программ, что мне встречались 128-е ПЗУ (не для определения количества памяти) для нормальной работы нужно было лишь для игры TERMINTOR 128K и для нескольких русских журналов.
Сообщение от The Exploited
В 1990-х Сергей Зонов, - один из уважаемых мной разработчиков Spectrum-совместиных компьютеров, - настоятельно не рекомендавал задействование битов 7 и 6 порта #7FFD (как впрочем и #1FFD).
Иногда я делаю такую "поблажку" : так, например, в командере TR-DOS Navigator V0.68b используется изменённая процедура:Сообщение от The ExploitedКод:LD HL,#D110 LD BC,#7FFD OUT (C),H LD E,(HL) LD (HL),C OUT (C),L LD (HL),B OUT (C),H LD A,(HL) CP C LD (HL),E OUT (C),L ;на выходе - если Z=1, то 128K
Это даже не смешно. Сергей Зонов дает советы как распоряжаться портами памяти которые растут еще с фирменного спектрума. А потом сам же получается в Scorpion 1024 и нарушил свои советы?Сообщение от Grand
И что? В #10-ой странице все равно 1 ячейку испортил. Это не критично, но если уж гордится тем что определялка не портит память (как например в Quick Commander ) то лучше написать так:Сообщение от Grand
Код:LD HL,#C010 LD E,#11 LD BC,#7FFD OUT (C),L LD A,(HL) INC (HL) OUT (C),E DEC (HL) OUT (C),L CP (HL) JR Z,48K DEC (HL) OUT (C),E INC (HL) OUT (C),L ;128K
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)