Важная информация

User Tag List

Страница 1 из 3 123 ПоследняяПоследняя
Показано с 1 по 10 из 28

Тема: Порты памяти - Scorpion и др.

  1. #1
    Member Аватар для ASMAN
    Регистрация
    19.02.2005
    Адрес
    Украина, Одесса
    Сообщений
    124
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Exclamation Порты памяти - Scorpion и др.

    ЛЮДИ!!! У кого есть побитная раскладка портов памяти Scropion, KAY и др. Мне для игры срочно нужно! Желательно раскладка выше 128к!
    Иначе будет работать торлько на Пнтагонах...

    Вот я например знаю, что у Пентагона:
    Порт - 7FFD: биты
    0-2 - ОЗУ 0-7 страницу (версия 128кб)
    3 - режим видеостраницы (0/1 экран)
    4 - бит 128/48 RAM Basic
    5 - режим совместимости с обычным Спекки 48кб (в версии 1мб - переключение верхних 512кб)
    6,7 - неиспользуются (в версии Пент256,512 - определяют по 8 страниц высшей памяти)
    А как быть с 4мб ? Это мне нужно для БУДУЩЕГО АССЕМЛЕРА который я уже подумываю делать параллельно с ДЮНОЙ! То STORM уже приелся! Ничего толком не сделаешь.. а другие не удобные и в некоторых даже еще хуже!

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2
    Vitamin C++ Аватар для Vitamin
    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,254
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    80
    Поблагодарили
    34 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    раскладку портов побитово не помню. кидаю драйвера памяти из VS. думаю, разберешься

    Код:
    FSTPAGE
            XOR A
    
    PAGE    PUSH BC     ;переключатель страниц
    PAGES   EQU $+1
            CP 6
            JP NC,ERRORT
            LD (CURPAG),A
            CP 2
            JR C,PP1
            CP 4
            JR C,PP2
            INC A
    PP2     INC A
    PP1
            IFN ?HIMEMDRV+1
            JP PENT128
            ENDIF 
    
    PENT128 AND 7
            OR 16
    OUTR    LD      BC,32765
            OUT     (C),A
    ERRORT_ POP     BC
            RET 
    
            IFN ?HIMEMDRV+1
    SETDRIVER
                            ;HL-ADRESS A-MAX PAGES
            LD (PP1+1),HL
            LD (PAGES),A
            RET 
    
    
    PENT512 LD C,A
            AND 24
            RLA 
            RLA 
            RLA 
            LD B,A
            LD A,C
            AND 7
            OR B
            JR PENT128+2    ;13
    
    SCORP256
            LD (S1+1),A
            AND 8
    S3      RLA 
            LD BC,#1FFD
    S2      OUT (C),A
    S1      LD A,0
            AND 7
            OR 16
            LD B,#7F
            JR OUTR+3       ;21
    
    PROFI
            LD (S1+1),A
            AND 56
            RRCA 
            RRCA 
            RRCA 
            LD BC,#DFFD
            JR S2           ;12
    
    ATM     LD (S1+1),A
            AND 24
            RRCA 
            RRCA 
            RRCA 
            LD BC,#FDFD
            JR S2
    
    SCORP1024
            LD (S1+1),A
            LD C,A
            AND 8
            LD B,A
            LD A,C
            AND 16+32
            RLA 
            OR B
            JR S3
            ENDIF

  4. #3
    Activist Аватар для Spectre
    Регистрация
    26.01.2005
    Адрес
    Минск
    Сообщений
    294
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Код:
     Вот описание всех получивших распространение стандартов: 
     
    					 ----------------------------
    					 ----- Стандарты памяти -----
    					 ----------------------------
     
    Для переключения памяти в Scorpion, KAY, Profi и ATM1 используется 2
    порта - это #7ffd (0, 1 и 2-ой биты) + биты дополнительного порта.
     
    Для Pentagon и ATM2 используется один порт (только #7ffd).
     
    					 --------- Pentagon ---------
     
    256K - используется 6-ой бит #7FFD
    512K - используются 6 и 7 биты #7FFD
    1024K - используются 5, 6 и 7 биты #7FFD
    4096K - используются 5, 6, 7 биты #7FFD + 0,1 биты #AFF7
     
    Примечание насчет последних двух: 5-ый бит в оригинальном спектруме
    служит для отключения порта #7FFD, посему есть вероятность оказаться в
    48-ом режиме.
     
    				------------ Scorpion/KAY ------------
     
    256К - используется 4-ый бит #1FFD (Scorpion и KAY)
    512K - не бывает
    1024K Scorpion - используются 4, 6 и 7-ой биты #1FFD
    1024K KAY - используются 4 и 6 биты #1FFD + 6-ой бит #7FFD
     
    						 ----- Profi -----
     
    256К-1024К - используются 0, 1 и 2 биты #DFFD
     
    Примечание: На Profi физически присутствует 4 линейки памяти (значения
    0,1 2,3 4,5 и 6,7 в порту #DFFD). Линейки могут быть запаяны как РУ5
    (64Кб), так и РУ7 (256Кб). Если памяти 1Мб, то все просто - стоит 4
    линейки по 256Кб. Но большое количество Profi имеет 256К, 512К, 768К и
    576К(!) памяти. Например, в Profi 576K используется 0,1,2,3 банки и четверть
    7-ой банки памяти.
     
    						 ----- ATM-1 -----
     
    256К - не бывает
    512K - используются 0 и 1 биты #FDFD
    1024К - используются 0, 1 и 2-ой биты #FDFD
     
    Насчет 1024K: на оригинальном ATM-1 всегда было только 512Кб. 2-ой бит
    порта #FDFD использовался при подключении ПЗУ объемом не 64Кб (27512)
    как обычно, а 128Кб (271000). Он выбирал дополнительные 4 странички.
    Но этот наворот практически никогда и нигде не использовался, даже в
    ATM-2 (хотя сейчас разрабатывается новое ПЗУ на все 128Кб для ATM-2,
    но не для ATM-1). Так что этот бит практически являлся неиспользуемым,
    что и позволило народным умельцам его задействовать. То есть стандарт
    неофициальный.
     
    						 ----- ATM-2 -----
     
    256К и 512К - может и были, но я никогда не слышал
    1024K: есть 2 способа адресации страниц: с использованием #7ffd+#fff7 и
    только через #fff7. В #fff7 биты записываются инвертированные!
    Раскладка битов порта #FFF7 такая:
    0-5 - номер страницы (0-63).
    6 - определяет, что это за страница: 0 - ROM, 1 - RAM
    7 - Определяет сочетание #FFF7 и #7FFD. А именно: 0 - определяет
    страницы только порт #FFF7, а 1 - инвертированные D0-D2 порта #FFF7
    заменяются на неинвертированные D0-D2 из порта #7FFD. Биты старше них
    продолжают браться из порта #FFF7.
     
    Сам порт #FFF7 доступен только из TR-DOS ПЗУ. Биты в него записываются
    инвертированные! Пример работы:
     
    	 LD BC,#FFF7
    	 LD A,n
    	 CPL
    	 CALL OUTC
    	 ...
     
    OUTC LD HL,#2A53 ;здесь OUT (C),A:RET
    	 PUSH HL
    	 JP #3D2F

  5. #4
    Member Аватар для ASMAN
    Регистрация
    19.02.2005
    Адрес
    Украина, Одесса
    Сообщений
    124
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Talking Порты, шморты...

    Цитата Сообщение от Spectre
    Код:
     Вот описание всех получивших распространение стандартов: 
     
    					 ----------------------------
    					 ----- Стандарты памяти -----
    					 ----------------------------
     
    Для переключения памяти в Scorpion, KAY, Profi и ATM1 используется 2
    порта - это #7ffd (0, 1 и 2-ой биты) + биты дополнительного порта.
     
    Для Pentagon и ATM2 используется один порт (только #7ffd).
     
    					 --------- Pentagon ---------
     
    256K - используется 6-ой бит #7FFD
    512K - используются 6 и 7 биты #7FFD
    1024K - используются 5, 6 и 7 биты #7FFD
    4096K - используются 5, 6, 7 биты #7FFD + 0,1 биты #AFF7
     
    Примечание насчет последних двух: 5-ый бит в оригинальном спектруме
    служит для отключения порта #7FFD, посему есть вероятность оказаться в
    48-ом режиме.
     
    				------------ Scorpion/KAY ------------
     
    256К - используется 4-ый бит #1FFD (Scorpion и KAY)
    512K - не бывает
    1024K Scorpion - используются 4, 6 и 7-ой биты #1FFD
    1024K KAY - используются 4 и 6 биты #1FFD + 6-ой бит #7FFD
     
    						 ----- Profi -----
     
    256К-1024К - используются 0, 1 и 2 биты #DFFD
     
    Примечание: На Profi физически присутствует 4 линейки памяти (значения
    0,1 2,3 4,5 и 6,7 в порту #DFFD). Линейки могут быть запаяны как РУ5
    (64Кб), так и РУ7 (256Кб). Если памяти 1Мб, то все просто - стоит 4
    линейки по 256Кб. Но большое количество Profi имеет 256К, 512К, 768К и
    576К(!) памяти. Например, в Profi 576K используется 0,1,2,3 банки и четверть
    7-ой банки памяти.
     
    						 ----- ATM-1 -----
     
    256К - не бывает
    512K - используются 0 и 1 биты #FDFD
    1024К - используются 0, 1 и 2-ой биты #FDFD
     
    Насчет 1024K: на оригинальном ATM-1 всегда было только 512Кб. 2-ой бит
    порта #FDFD использовался при подключении ПЗУ объемом не 64Кб (27512)
    как обычно, а 128Кб (271000). Он выбирал дополнительные 4 странички.
    Но этот наворот практически никогда и нигде не использовался, даже в
    ATM-2 (хотя сейчас разрабатывается новое ПЗУ на все 128Кб для ATM-2,
    но не для ATM-1). Так что этот бит практически являлся неиспользуемым,
    что и позволило народным умельцам его задействовать. То есть стандарт
    неофициальный.
     
    						 ----- ATM-2 -----
     
    256К и 512К - может и были, но я никогда не слышал
    1024K: есть 2 способа адресации страниц: с использованием #7ffd+#fff7 и
    только через #fff7. В #fff7 биты записываются инвертированные!
    Раскладка битов порта #FFF7 такая:
    0-5 - номер страницы (0-63).
    6 - определяет, что это за страница: 0 - ROM, 1 - RAM
    7 - Определяет сочетание #FFF7 и #7FFD. А именно: 0 - определяет
    страницы только порт #FFF7, а 1 - инвертированные D0-D2 порта #FFF7
    заменяются на неинвертированные D0-D2 из порта #7FFD. Биты старше них
    продолжают браться из порта #FFF7.
     
    Сам порт #FFF7 доступен только из TR-DOS ПЗУ. Биты в него записываются
    инвертированные! Пример работы:
     
    	 LD BC,#FFF7
    	 LD A,n
    	 CPL
    	 CALL OUTC
    	 ...
     
    OUTC LD HL,#2A53 ;здесь OUT (C),A:RET
    	 PUSH HL
    	 JP #3D2F
    Спасибо Spectre!!! С меня бутилька!

  6. #5
    Veteran Аватар для GriV
    Регистрация
    18.02.2005
    Адрес
    Набережные Челны
    Сообщений
    1,574
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию вообще проблемы памяти

    на себя компилятор (АСьМ то есть) должен брать, уж давно пора универсальный memBANKchanger внедрять во все асмы...
    Биты рулят лучше байтов, байты рулят шустрее!
    View, Звук, Цвет

  7. #6
    Veteran Аватар для lvd
    Регистрация
    23.01.2005
    Сообщений
    1,113
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от GriV
    на себя компилятор (АСьМ то есть) должен брать, уж давно пора универсальный memBANKchanger внедрять во все асмы...
    Угу, и главное, ООП не забыть бы внедрить...

  8. #7
    Member Аватар для ASMAN
    Регистрация
    19.02.2005
    Адрес
    Украина, Одесса
    Сообщений
    124
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Question Непонятненько будет...

    Цитата Сообщение от lvd
    Угу, и главное, ООП не забыть бы внедрить...
    Что такое ООП ?

  9. #8
    Veteran Аватар для lvd
    Регистрация
    23.01.2005
    Сообщений
    1,113
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ASMAN
    Что такое ООП ?
    Это типа шутка юмора была. В соседнем треде тоже до ООП в альасме договорились =)

    ООП - объектно-ориентированное программирование.

  10. #9
    Member Аватар для Looker
    Регистрация
    16.01.2005
    Адрес
    Severodonetsk, Ukraine
    Сообщений
    92
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Без шюток

    ООП на асме вполне реально внедрить. Может не в полном объеме, но все-таки. А реально потому, что это совершенно не скажется на скорости работы, а преимуществ куча...Кто шарит в ООП, меня поймет...

  11. #10
    Member Аватар для ASMAN
    Регистрация
    19.02.2005
    Адрес
    Украина, Одесса
    Сообщений
    124
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Cool ООП - штука клевая и реализуемая...

    Цитата Сообщение от Looker
    ООП на асме вполне реально внедрить. Может не в полном объеме, но все-таки. А реально потому, что это совершенно не скажется на скорости работы, а преимуществ куча...Кто шарит в ООП, меня поймет...
    Я шарю, и я тебя понимаю, но об этом можно более подробно поговить в разделе "DEB - ассемблер нового поколения" в котором я постараюсь это сделать, не сразу, но будет, ввиде макросов наврное, если нет других идей... ответ пишите в разделе "DEB - ..."

Страница 1 из 3 123 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 6
    Последнее: 10.09.2013, 16:04
  2. Unreal. Breakpoint на чтение памяти.
    от valker в разделе Эмуляторы
    Ответов: 1
    Последнее: 12.02.2005, 12:58

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •