Página 1 de 1

Setting active ROM vs. Choosing ROM at boot with ESC

Publicado: 23 Dic 2017, 23:53
por SevenFFF
I've noticed an odd quirk.

I'm fiddling with a TR-DOS app on the Pentagon 128 ROM. I have a TRD disk with a basic "boot" loader that runs an asm menu. Picking one of the menu options makes some TR-DOS $3D13 calls - a $12 delete, a $0B save and a bunch of $0E loads. The loads run in a loop from Bank 7 with interrupts disabled throughout. After each one they call an initialialiser in the code that's just been loaded, which does a bank switch, copies it somewhere else, switches back to back 7 then carries on with the loop.

When I have Pentagon set as the active ROM in the Uno BIOS, everything works as expected.

When I have ZX Spectrum +2 set as the active ROM, then use ESC during the boot sequence to switch to the Pentagon 128 ROM, My program fails during one of the $3D13 load calls. I'm not quite sure yet what fails. It probably tries to jump to an initialiser routine that didn't get loaded. I need to find a way of debugging this further I guess.

Is there any obvious reason why using ESC during the boot sequence would cause things to behave differently?

Here for what it's worth, is the .TRD image. To reproduce: boot the image with exsDOS, wait for the animated menu to appear, then press "0". When it works, the border alternates between green and black when the progress bar reaches 100%. When it fails, it hangs without the green and black border.

Thanks! Robin

Re: Setting active ROM vs. Choosing ROM at boot with ESC

Publicado: 24 Dic 2017, 13:01
por azesmbog
из 6 приличных эмуляторов, поддерживающих Pentagon,и попавшихся под руку, этот файл заработал только на одном. (Одном, Карл!!)
Вот когда будет работать на ЛЮБОМ! софтовом эмуляторе, тогда можно будет подумать, что здесь не так.
А пока что это , по моему мнению, кривой код. Сорри.
И да, я уже приводил примеры кода, который КОРРЕКТНО! работает на реальных ZX48 и эмуляторах, но криво работает на FPGA emu из-за не 100% эмуляции Z80 в ядре Т80

Re: Setting active ROM vs. Choosing ROM at boot with ESC

Publicado: 24 Dic 2017, 16:56
por SevenFFF
Thanks azesmbog. It works on the 2 emulators I am using. Please give me the names of your 6 emulators and I will investigate!

It also works on the Uno apart from this one situation with the ESCAPE boot menu.

Re: Setting active ROM vs. Choosing ROM at boot with ESC

Publicado: 24 Dic 2017, 18:12
por azesmbog
SevenFFF escribió: Please give me the names of your 6 emulators and I will investigate!
1. Z80Stealth - НЕ работает. Один из лучших эмуляторов Pentagon
http://z80.emu-russia.net/
2. Spectaculator 6.25 - не работает.
3. Spectramine - не работает
4.XSpeccy - не работает
5.ZXMAK2 - не работает
6. EmuZGL - не работает

1. Unreal - работает
2. SpecEmu - работает

upd: Наверное понял, почему большинство эмуляторов не работает. Программа видимо что-то на диск записывает??
Ну тогда это может быть причиной при разной инициализации, или из меню или по Esc
Завтра проверю

Re: Setting active ROM vs. Choosing ROM at boot with ESC

Publicado: 29 Dic 2017, 22:32
por SevenFFF
This is interesting. I just tried Dr Slurp's NMI.SYS 0.0.14, and there is no problem choosing Pentagon ROM at boot with my .TRD.

I am still investigating problems on your emulator list, thanks azesmbog!

You are correct, there is a disk write at the start of the progress bar. This may be causing problems in some emulators (Spectaculator is read-only by default), but they are separate problems from the weird read problem I saw at the end of the progress bar.

I must code my disk writes better! I will program an invisible continuation during option "0 - Старт". Only option "3 - Обнулить рекорды" should give verbose errors for write failures.

Re: Setting active ROM vs. Choosing ROM at boot with ESC

Publicado: 29 Dic 2017, 22:54
por azesmbog
у меня версия bios 0.61, версия ядра Т24-01042017, DivMMC 0.8.6
ни разу нормально не запустилось, хотя режим Pentagon у меня включен по умолчанию.
После нажатия на "0" - сброс