С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Рекомендую для отладочных вещей пользоваться вызовами DebugLog() и DebugLogFormat() -- они пишут в файл trace.log, это быстрее DebugPrint() и не ограничено размером буфера виндового контрола EDIT (кажется, 64К текста).
Если нужно получить в логе трассу команд, можно в конец CProcessor::FetchInstruction() вставить примерно такой блок:
Код:#if !defined(PRODUCT) WORD address = GetPC() - 2; WORD data[4]; for (int i = 0; i < 4; i++) data[i] = GetWord(address + i * 2); TCHAR strInstr[8]; TCHAR strArg[32]; DisassembleInstruction(data, address, strInstr, strArg); DebugLogFormat(_T("%06o: %s\t%s\n"), address, strInstr, strArg); #endif
---------- Post added at 00:10 ---------- Previous post was at 00:05 ----------
Цифры все в коде, цифр этих много, зависит от команды и режимов адресации.
Если хочется видеть по конкретному коду сколько тактов занимают команды -- можно смотреть или логировать в конце CProcessor::Execute() на выходе из функции CProcessor::CommandExecution() сколько прописано в m_internalTick -- это и будет время выполнения команды.
Чтобы замедлить/ускорить процессор можно либо в CMotherboard::SystemFrame() изменить количество вызовов SYSTEMFRAME_EXECUTE_CPU и SYSTEMFRAME_EXECUTE_PPU, либо в коде процессора изменять m_internalTick.
Последний раз редактировалось nzeemin; 07.02.2013 в 00:13.
Т.е. общего тактирования на процессор нет? так чтобы в одном месте подправить.
И еще не понятно сколько времени отводится для выполнения прерывания VIRQ, т.е. процессор вроде как ни каких команд не выполняет но должен сохранить много чего в стеке кажется.
nzeemin, посмотрел новый билд. Не понравилась смена курсора на кнопках, имхо лучше подсвечивать сами клавиши. Было бы неплохо иметь хоткеи на load/save state. Да ещё play/pause на Break для откладки повесить.
Жаль сохранение от старой версии не хочет восстановить в последней бете)
Гоняю 38 версию - впечатления самые положительные в целом, особенно в плане
флопов - я не знаю правили там что то или нет, но работают лучше чем когда либо.
Глюк что некоторые приложения с харда отказываются дискеты видеть, но тут
такая вещь - я на реальной машинке столкнулся с этим, иногда без всякого повода
выскакивает ошибка, а повторный запрос может сработать 50\50 (в эмуляторе почти так-же).
Картинки чётко сохраняет вроде проверил в папку эмулятора (!)
Присоединяюсь к Vamos - полноэкранный режим (Screen Mode 5 - почти оно)
(по поводу других прочих версий (QT,SDL) я действительно мог что-то и неправильно написать, поскольку писал с чужих слов-впечатлений - сам пользуюсь и интересуюсь (пока) только Win32 версией)
А по RT11DSK сюда баги писать? А то у меня она крэшится когда в "rt11dsk l" я ей пихаю образ не дискетки, а винта =)
То что крэшится конечно не гуд, но для работы с винчестером предназначены команды hl, hx, hu:
Код:Disk image commands: rt11dsk l <ImageFile> - list image contents rt11dsk e <ImageFile> <FileName> - extract file rt11dsk a <ImageFile> <FileName> - add file Hard disk image commands: rt11dsk hl <HddImage> - list HDD image partitions rt11dsk hx <HddImage> <Partn> <FileName> - extract partition to file rt11dsk hu <HddImage> <Partn> <FileName> - update partition from the file Parameters: <ImageFile> is UKNC disk image in .dsk or .rtd format <HddImage> is UKNC hard disk image file name <Partn> is hard disk image partition number, 0..23 <FileName> is a file name to read from or save to
Да, хелп-то я сообразил посмотреть, потому и засомневался, постить ли...
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)