MSX-engines S3527, S1985, DW64MX1

Page 1/3
| 2 | 3

By -LeoN-

Rookie (23)

-LeoN-'s picture

11-06-2013, 09:02

Изучая даташиты на S3527 и S1985 обнаружил интересную фичу конфигурирования при сбросе: выбор расширяемого слота 0 или 3. Более того, S1985 позволяет расширять оба слота одновременно. Таким образом "нестандартная" конфигурация слотов в DW64MX1 (а это Daewoo CPC-300/400) оказывается не такой уж и нестандартной...
Логично было бы предположить о такой же возможности и в DW64MX1, но, не имея даташита и анализируя очень скудную в инете инфу по этому чипу (в нём нет сигналов порта клавиатуры X0-X7, при помощи которых происходит конфигурация при сбросе в S3527/1985) приходим к выводу, что не предусмотрено...

Login or register to post comments

By Halfaxle

Resident (52)

Halfaxle's picture

17-06-2013, 08:29

Да кто вообще сказал, что она нестандартная?

Сначала одни люди (по незнанию) понаделали софта, на ямаху заточенного, из чего другие (по непонятным причинам) сделали вывод, что расширять 0 слот - это "нестандартно".
Где-то видел еще мнение, что ямаха сама по себе нестандартная, тк в некоторых играх текст нормально не отображается. Я так понимаю, это из-за отсутствия в ней канжи. Просто отлично.

Возвращаясь к daewoo - на машинках, что у нас водились, была запаяна половина памяти. То есть, половина мэппера была "пустая". Были программы, которые действительно не работали, пока вторую половину не запаяешь.

PS. Было бы интересно проверить сколько бит читается из мэппера на cpc300. Если 3, то как-то оно, выходит, конфигурится.

By msxegor

Master (183)

msxegor's picture

16-09-2013, 09:05

Маппер читать - это дурной тон (строго говоря, по стандарту он write-only)

By Halfaxle

Resident (52)

Halfaxle's picture

17-09-2013, 11:06

msxegor wrote:

Маппер читать - это дурной тон

Так то оно так, но оно все равно много где читается и много кто читал/читает.
Когда в 90-х у меня некоторое время была 300-ка, мне помнится, сложилось впечатление, что там был "честный" 128к мэппер. Проверить сейчас не на чем. Соответственно, если память не подводит, то эта даевушеная чипуля тоже как-то конфигурируется.

Quote:

(строго говоря, по стандарту он write-only)

Мне казалось, что по стандарту как раз должно читаться, что не есть гуд. Откуда инфа про wroteonly?

By Eugeny_Brychkov

Paragon (1054)

Eugeny_Brychkov's picture

21-09-2013, 11:51

В MSX-ах есть некоторые неоднозначные вещи, о которых идет бесконечный спор, в основном на "религиозной" почве.

Здесь вы подняли несколько тем, по которым мне есть что сказать.

1. чтение маппера. С точки зрения перфекционизма - это нужная и правильная функция. С точки зрения игр она не нужна (всё в мапперах картриджей). С точки зрения MSX1 КУВТ она не нужна (заранее известно, что где должно быть). Исходя из этого, народ решил, что маппер - только для записи. Тем более, как вы заметили, размер памяти нельзя со 100% гарантией определить по размеру маппера (читая его значения) - надо реально сканировать память на ее наличие, а в области системных переменных отсутствует константа, по которой можно определить реальный, определенный на момент старта, размер памяти. То есть определение размера памяти в MSX в действительности - засада (усугубленная поиском слота где память есть, потом поиском той памяти, которая больше по объему и т.д.). Именно по вышеуказанным причинам чтение маппера, как сказал Егор - дурной тон... для тех, кот вырос на MSX1 и простых программах. Хочу отметить что в моем GR8BIT маппер читается. Моск у S3527 не кастрированный, маппер R/W. Также и у S1985. Насколько это нужно ИРЛ - это другой вопрос.

2. абсолютно согласен c Halfaxle - в СССР было принято считать Ямаху КУВТ стандартом. Из-за этого такие классные программы, как TOR и DBG подчас не умеют работать на немного других конфигурациях (у TORа проблемы со слотами, а DBG не умеет правильно переходить в 80-символьный режим из режима SCREEN1). Между прочим, западные программеры тоже от нас не отстали. Иногда, чтобы программа заработала, надо ручками делать ауты и писать в фффф, а если там чего нужного нет, или это нужное пропадает при записи, то облом!

Edit #1: По поводу расширения слотов. Некоторое время назад я делал упражнение по тотальному расширению памяти, и биос MSX2+ успешно нашел 33 мегабайта памяти. Слоты 1 и 2 полностью нафаршированы по 4 мега каждый подслот, и еще в стандартном месте 3.2 один мег. Формально все четыре слота можно расширить, и биос будет работать корректно. Приложения - возможно нет.

Edit #2: MSX-DOS более продвинут в данном отношении, и знает, где находится Досовая память. MSX-DOS2 еще более продвинут, так как он хранит свои системные переменные вверху памяти маппера. Но он хитрозадый - хранит значения маппера в памяти. Именно поэтому в среде разработчиков очень рекомендуется в среде DOS2 использовать системные вызовы для смены слотов. Я сам на это налетал.

Edit #3: а хитрозадый DOS2 потому, что он считает себя главным. В действительности довольно большая доля правды и резона в этом есть. Вдруг кто-то запишет что-то в маппер, и потом DOS2 сбрендит и неоттуда откуда надо FCB возьмет?

By msxegor

Master (183)

msxegor's picture

16-10-2013, 09:02

Женя, маппер на MSX читать нельзя по стандарту, это черным по белому написано везде.
На стандартной ямахе, в которую воткнут стандартный же картридж на 4 мб, читаться будет совсем не то, что писали!
Почему? А потому что мапперы во внешних слотах WO, их читать по идее нельзя из-за того, что может быть конфликт по шине и можно пожечь или машину, или картридж (это - с меньшей вероятностью). S1985 а-натюрель всегда возвращает пять бит маппера, вне зависимости, в какой конфигурации она включена. Хорошим решением было бы сделать внутренний маппер 8-битным и забить на остальное, но... пожалели десяток регистров.

By Eugeny_Brychkov

Paragon (1054)

Eugeny_Brychkov's picture

16-10-2013, 10:16

msxegor wrote:

Женя, маппер на MSX читать нельзя по стандарту, это черным по белому написано везде.

Я тоже думал, что "везде", но как начал искать - не смог найти!

msxegor wrote:

что может быть конфликт по шине и можно пожечь или машину, или картридж

Это очень здравая мысль. Уважуха. Хотя с другой стороны... что туда записано, то и прочтется? Если какие-то биты отсутствуют, то там просто пул-ап? Может и не будет особо конфликта-то, если одно и то же читается.

msxegor wrote:

Хорошим решением было бы сделать внутренний маппер 8-битным и забить на остальное, но... пожалели десяток регистров.

Если его читать нельзя, а в чипушке только 5 выводов для памяти, то зачем... Тогда уж вообще по-другому мапперенье придумать, чтобы не было конфликтов, и у каждого куска железа был свой независимый маппер.

By msxegor

Master (183)

msxegor's picture

16-10-2013, 10:45

Я бы еще уточнил, что маппер читать не рекомендуется потому, что внешние модули памяти могут иметь нечитабельный маппер (пример - опять-таки ямаховский 4М картридж)

By Halfaxle

Resident (52)

Halfaxle's picture

17-10-2013, 12:28

Ребят, я в каком-то pdf-е (английским по белому) совершенно точно читал, что регистры мэппера должны читаться и возвращать столько бит. сколько памяти установлено. Собственно, если бы по стандарту они не должны были читаться, то никто не стал бы реализовывать чтение из них. Сейчас не могу вспомнить что это было. Возможно, какая то ранняя спецификация от ASCII, возможно еще что. Поэтому и пишу, что мне кажется, что по стандарту должно. В любом случае, чтения из них нужно избегать, тк в системе может быть более одного мэппера. И это "более одного" лишает смысла какое-либо чтение мэппера в принципе. В общем, лучше не читать и возможность чтения в новых железяках не реализоаватьSmile

By adxx

Rookie (18)

adxx's picture

21-12-2015, 08:24

Halfaxle wrote:

Возвращаясь к daewoo - на машинках, что у нас водились, была запаяна половина памяти. То есть, половина мэппера была "пустая". Были программы, которые действительно не работали, пока вторую половину не запаяешь.

PS. Было бы интересно проверить сколько бит читается из мэппера на cpc300. Если 3, то как-то оно, выходит, конфигурится.

Замечательный некропост. Микросхемки заказал, буду допаивпать своей CPC-300E.

By Halfaxle

Resident (52)

Halfaxle's picture

21-12-2015, 23:12

Лучше сразу взять hitachi/renesas 628512 и из нее новую память сделать. Ну их нафик, эти 4464, чесслово.

Page 1/3
| 2 | 3
My MSX profile