Болдер даш кст (который крутой BLDR.SAV) - загрузился нормально. Фуф.. ну вообщем проблема немного ясна стала. Спасибо господа за участие. Теперь надо думать что с ней делать ибо sleep ну как-то не вариант да..
Вид для печати
Болдер даш кст (который крутой BLDR.SAV) - загрузился нормально. Фуф.. ну вообщем проблема немного ясна стала. Спасибо господа за участие. Теперь надо думать что с ней делать ибо sleep ну как-то не вариант да..
Неа, загружается по видимому просто потом зависон. Но тем-не менее говорю-же - болдер пошел нормально. Разумеется неохота тестировать совсем уж все игры.
Вообщем скажем так "рабочее уже".
Что написало в cmd
c:\Projects\uknc\00_code\tests>UkncComSender.exe COM3 GOBLIN.SAV 57600
UkncComSender Utility ...
Serial port COM3 opened.
Serial port configured.
Opening the input file GOBLIN.SAV...
Reading the first block...
Waiting for byte 0100...
0x40
Sending loader...
Waiting for byte 0101...
0x41
Sending data ................................................................
COM port closed.
c:\Projects\uknc\00_code\tests>[свернуть]
Ну там лягушка такая бегает и написан под два процессора судя по-всему.
Вот этот запустился, цвета кривые ну да ладно
https://i.imgur.com/H6X7IgX.jpg[свернуть]
Он меньше по размеру, чем Гоблины. А в ПП там только передача скан-кодов клавиатуры, да и щелчки. Ну ещё палитру ставит в ячейках 2470 и 2472. Всё остальное в ЦП.
- - - Добавлено - - -
Ещё версия. Вставил FlushFileBuffers, ибо так советуют в SDK.
The FlushFileBuffers function clears the buffers for the specified file and causes all buffered data to be written to the file.
If a thread uses PurgeComm to flush an output buffer, the deleted characters are not transmitted. To empty the output buffer while ensuring that the contents are transmitted, call the FlushFileBuffers function (a synchronous operation). Note, however, that FlushFileBuffers is subject to flow control but not to write time-outs, and it will not return until all pending write operations have been transmitted.
--------------------------------------------------------------------------------------------------------------------------
Ещё доработка - если файл по размеру 512 байт и менее, то грузит только его, не переделывает в загрузчик.
Не, не заработало. Думается проблема в самих гоблинах. Он этот GOBLIN.SAV у меня какой-то кривой. Там первый блок довольно странный. В обычных .SAV-ках он фактически пустой, а в этих гоблинах он забит чем-то. Плюс у меня там хакнуто на 77 жизней (в них кто-то копался вообщем).
Это оригинальный GOBLIN. А по поводу информации в нулевом блоке, зависит от того, как она размещена. У меня не переносится всё что ниже адреса 0500, адреса от 0 до 0476 считаются векторами прерываний и исполнимый код там не рекомендуется хранить.
Так же я странслировал ваш TSTCLR с секцией .ASECT, у меня нормально загрузилось.