User Tag List

Страница 75 из 193 ПерваяПервая ... 717273747576777879 ... ПоследняяПоследняя
Показано с 741 по 750 из 2231

Тема: ZXMAK2 - Виртуальная машина ZX Spectrum

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    30.01.2006
    Сообщений
    1,921
    Спасибо Благодарностей отдано 
    73
    Спасибо Благодарностей получено 
    119
    Поблагодарили
    80 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Дмитрий Посмотреть сообщение
    Во вложении схема контроллера на мелкой логике с описанием работы, а так же сырок BIOS по части работы с HDD.
    схема конечно супер , долго сидел ломал голову, в итоге взял список портов из исходника драйвера, хз по какой маске идет адресация портов IDE, сделал #FEFF. ПЗУ увидело что на иде чето висит, но вместо имени показывает пустую строку и сразу переходит к поиску второго ide (кот. сейчас всегда нету).
    Хз почему пусто, может так и должно быть? Чем можно затестить пустой винт на спринтере?

    прикладываю в аттачменте exe-шник с IDE SPRINTER, попробуй отладить, т.к. я вообще в спринтере ничего не знаю

    исходник самого девайса прилагается, для компиляции - добавить в папку Hardware/Sprinter/

    Updated: разобрался - поменял маску порта регистра данных на #00FF и пзу-ха увидела имя винта
    Сейчас выложу обновление
    Последний раз редактировалось ZXMAK; 15.05.2013 в 03:20.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

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

  3. #2

    Регистрация
    30.01.2006
    Сообщений
    1,921
    Спасибо Благодарностей отдано 
    73
    Спасибо Благодарностей получено 
    119
    Поблагодарили
    80 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Обновил до версии 2741:
    - добавлен девайс IDE SPRINTER (пока не тестился, но биосом определяется)



    можно тестить, кто затестит отпишите плиз - как работает

    Напомню, чтобы подключить винт, нужно добавить IDE девайс на шину, после применения изменений закрыть эмулятор и отредактировать ZXMAK2.vmide:
    Код:
    <IdeDiskDescriptor>
      <Image fileName="test1.hdd" isCdrom="False" isReadOnly="False" />
      <Geometry cylinders="20" heads="16" sectors="63" lba="201600" />
    </IdeDiskDescriptor>
    Тут test1.hdd - это имя файла (если без пути, то ищет в папке эмулятора). Если указано имя не существующего файла, будет создан новый образ винта в указанном файле.
    Не забываем прописать параметры геометрии винта
    Последний раз редактировалось ZXMAK; 15.05.2013 в 03:25.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  4. #3

    Регистрация
    01.01.2009
    Адрес
    Донецк, Украина
    Сообщений
    3,260
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    8 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Alexander Makeev, есть образ флешки на 128 метров (скачанный на этом форуме, автор утверждает, что спринтер с него грузился), как для нее расчитать параметры C/H/S и LBA? Поставил 16/255/63 (а какой должен быть LBA-параметр?), но при запуске эмуль ругается в логе:
    Код:
    Error	07:45:50.056	*** unknown ATA cmd #00 ***
       в ZXMAK2.LogAgent.Error(String fmt, Object[] args)
       в ZXMAK2.Hardware.IC.AtaDevice.exec_ata_cmd(Byte cmd)
       в ZXMAK2.Hardware.IC.AtaDevice.write(Int32 n_reg, Byte data)
       в ZXMAK2.Hardware.IC.AtaPort.write(Int32 n_reg, Byte data)
       в ZXMAK2.Hardware.Sprinter.IdeSprinter.WriteIdeCommand(UInt16 addr, Byte value, Boolean& iorqge)
       в ZXMAK2.Interfaces.BusWriteIoProc.Invoke(UInt16 addr, Byte value, Boolean& iorqge)
       в ZXMAK2.Engine.BusManager.WRPORT(UInt16 addr, Byte value)
       в ZXMAK2.Engine.Z80.Z80CPU.ED_OUTCR(Byte cmd)
       в ZXMAK2.Engine.Z80.Z80CPU.ExecED(Byte cmd)
       в ZXMAK2.Engine.Z80.Z80CPU.ExecCycle()
       в ZXMAK2.Engine.BusManager.ExecCycle()
       в ZXMAK2.Engine.SpectrumConcrete.ExecuteFrame()
       в ZXMAK2.Engine.VirtualMachine.runThreadProc()
       в System.Threading.ThreadHelper.ThreadStart_Context(Object state)
       в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       в System.Threading.ThreadHelper.ThreadStart()
    В итоге загрузка с винта не идет
    Образ могу скинуть, куда скажешь для проверки.

    Во вложении кинул образ дискеты, на которой есть прога hdtest.exe, она тестирует работу винта. В эмуле надо загрузиться с этой дискеты (в биосе выбрать загрузку с 1й дискеты) и запустить hdtest.exe. В данный момент она у меня ругается - HDD init error. Registers R/W Error
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	sp_hdtest.png 
Просмотров:	286 
Размер:	18.1 Кб 
ID:	41612  
    Вложения Вложения
    Последний раз редактировалось Дмитрий; 15.05.2013 в 10:17.

  5. #4

    Регистрация
    30.01.2006
    Сообщений
    1,921
    Спасибо Благодарностей отдано 
    73
    Спасибо Благодарностей получено 
    119
    Поблагодарили
    80 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Дмитрий Посмотреть сообщение
    Образ могу скинуть, куда скажешь для проверки.

    Во вложении кинул образ дискеты, на которой есть прога hdtest.exe, она тестирует работу винта. В эмуле надо загрузиться с этой дискеты (в биосе выбрать загрузку с 1й дискеты) и запустить hdtest.exe. В данный момент она у меня ругается - HDD init error. Registers R/W Error
    а что она должна выводить?

    Переделал выборку портов:
    Код:
                bmgr.SubscribeReset(BusReset);
    
                var dataMask = 0x00E7;//0x00FF;
                var regMask = 0xC0E7;//0x00E7;//0xFEFF;
                bmgr.SubscribeRdIo(dataMask, 0x0050 & dataMask, ReadIdeData);
                bmgr.SubscribeWrIo(dataMask, 0x0050 & dataMask, WriteIdeData);
                bmgr.SubscribeRdIo(regMask, 0x0051 & regMask, ReadIdeError);
                bmgr.SubscribeWrIo(regMask, 0x0151 & regMask, WriteIdeError);
                bmgr.SubscribeRdIo(regMask, 0x0052 & regMask, ReadIdeCounter);
                bmgr.SubscribeWrIo(regMask, 0x0152 & regMask, WriteIdeCounter);
                bmgr.SubscribeRdIo(regMask, 0x0053 & regMask, ReadIdeSector);
                bmgr.SubscribeWrIo(regMask, 0x0153 & regMask, WriteIdeSector);
                bmgr.SubscribeRdIo(regMask, 0x0055 & regMask, ReadIdeCylHi);
                bmgr.SubscribeWrIo(regMask, 0x0155 & regMask, WriteIdeCylHi);
                bmgr.SubscribeRdIo(regMask, 0x0054 & regMask, ReadIdeCylLo);
                bmgr.SubscribeWrIo(regMask, 0x0154 & regMask, WriteIdeCylLo);
                bmgr.SubscribeRdIo(regMask, 0x4052 & regMask, ReadIdeControl);
                bmgr.SubscribeWrIo(regMask, 0x4152 & regMask, WriteIdeControl);
                bmgr.SubscribeRdIo(regMask, 0x4053 & regMask, ReadIdeCommand);
                bmgr.SubscribeWrIo(regMask, 0x4153 & regMask, WriteIdeCommand);
    теперь вот такое говорит:



    это правильно или нет?

    Может есть какой-нибудь образ с чем-то наподобие FDISK и FORMAT? (не знаю как они на спринтере назывались)

    скинь на какой-нибудь обменник образ, куда я сам толком не знаю, давно не выкладывал крупные файлы
    Последний раз редактировалось ZXMAK; 15.05.2013 в 11:23.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  6. #5

    Регистрация
    30.01.2006
    Сообщений
    1,921
    Спасибо Благодарностей отдано 
    73
    Спасибо Благодарностей получено 
    119
    Поблагодарили
    80 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Update: поправил маски, так тоже работает и так вроде-бы правильнее судя по описанию:
    Код:
                var dataMask = 0x00E7;//0x00FF;
                var regMask = 0xE1E7;//0x00E7;//0xFEFF;
    EXE с поправленными масками в аттачменте, проверь плиз
    Вложения Вложения
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  7. #6

    Регистрация
    01.01.2009
    Адрес
    Донецк, Украина
    Сообщений
    3,260
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    8 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Выложил образ, там есть кой-какой софт. должен определиться как диск С и по идее загрузиться ОС с него.
    http://rghost.ru/46009536
    http://rghost.ru/46009550

  8. #7

    Регистрация
    30.01.2006
    Сообщений
    1,921
    Спасибо Благодарностей отдано 
    73
    Спасибо Благодарностей получено 
    119
    Поблагодарили
    80 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Дмитрий Посмотреть сообщение
    Выложил образ, там есть кой-какой софт. должен определиться как диск С и по идее загрузиться ОС с него.
    http://rghost.ru/46009536
    http://rghost.ru/46009550
    а какие у него параметры не знаешь?
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  9. #8

    Регистрация
    11.02.2005
    Адрес
    【RB】
    Сообщений
    3,877
    Спасибо Благодарностей отдано 
    128
    Спасибо Благодарностей получено 
    130
    Поблагодарили
    81 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    Talking

    Цитата Сообщение от Дмитрий Посмотреть сообщение
    Выложил образ, там есть кой-какой софт. должен определиться как диск С и по идее загрузиться ОС с него.
    http://rghost.ru/46009536
    http://rghost.ru/46009550
    Хех, решил тут посмотреть наконец что есть спринтер, но файлы уже потёрли может у кого сохранилось? Можно даже уже пропатченную версию

  10. #9

    Регистрация
    01.01.2009
    Адрес
    Донецк, Украина
    Сообщений
    3,260
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    8 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вот что мне выдает тест с имеющимся образом.
    Ось не определила диск - не видно содержимого. Но возможно из-за некорректных параметров геометрии, подскажи, плиз, как правильно настроить.
    Код:
    <IdeDiskDescriptor>
      <Image fileName="SprinterHDD.img" isCdrom="False" isReadOnly="False" />
      <Geometry cylinders="20" heads="199" sectors="63" lba="201600" />
    </IdeDiskDescriptor>
    Если подсунуть пустой образ, то "Not stable write" нет сообщений.
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	sp_hdtest1.jpg 
Просмотров:	283 
Размер:	19.4 Кб 
ID:	41614  
    Последний раз редактировалось Дмитрий; 15.05.2013 в 12:06.

  11. #10

    Регистрация
    30.01.2006
    Сообщений
    1,921
    Спасибо Благодарностей отдано 
    73
    Спасибо Благодарностей получено 
    119
    Поблагодарили
    80 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Дмитрий Посмотреть сообщение
    Вот что мне выдает тест с имеющимся образом.
    Ось не определила диск - не видно содержимого. Но возможно из-за некорректных параметров геометрии, подскажи, плиз, как правильно настроить.
    я сам уже не помню, надо разбираться. LBA - это помоемому общий объем в секторах, т.е. полный объем /512, а сколько дорожек, головок, секторов нужно смотртеть. Только сам образ может не включать область в конце диска, в которую не производилась запись

    Ты только смотри что некорректное обращение к винту могло попортить на образе данные. А с включеным write protect может не работать. Поэтому после неудачных экспериментов нужно восстанавливать образ или проверять md5.

    Пожалуй нужно будет переделать защиту от записи путем корректной обработки команд записи, но реально данные в образ не писать. Сейчас команда просто прерывается с ошибкой. Из-за этого например скорпион не хочет работать с винтом защищенным от записи (он не видит что команда прервалась и продолжает слать данные).
    Последний раз редактировалось ZXMAK; 15.05.2013 в 12:14.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

Страница 75 из 193 ПерваяПервая ... 717273747576777879 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 7
    Последнее: 06.04.2012, 21:37
  2. Машина Тьюринга для Z80
    от ZXMAK в разделе Эмуляторы
    Ответов: 4
    Последнее: 15.08.2011, 03:26
  3. Продвинутая Мелко Машина 1
    от Black_Cat в разделе Зарубежные компьютеры
    Ответов: 74
    Последнее: 03.03.2009, 09:05
  4. Что за машина такая??? Commodore 128...
    от ILoveSpeccy в разделе Commodore 16/64/128
    Ответов: 5
    Последнее: 31.10.2007, 10:25
  5. Java-машина
    от Error404 в разделе Программирование
    Ответов: 2
    Последнее: 15.01.2007, 15:11

Ваши права

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