|
Post by jmpff3d on Oct 27, 2018 9:18:11 GMT
|
|
|
Post by willymanilly on Oct 27, 2018 9:50:14 GMT
That glitch you see is related to the c128 startup memory pattern. The memory at the locations causing the glitch need to be set to 0 from the default value of 255. Currently I'm just using the startup pattern I observed from my PAL c64c for both c64 and c128 emulation.
Programs that don't reset the memory properly can actually cause them not to run as expected. See VICE bug #1011 for a good example of this.
Maybe it's time I start gathering power up memory patterns for the c128, including the VDC. On a side note I've recently implemented VDC register startup values into Z64K using an Action Replay Cartridge to go straight into C64 mode bypassing setting of any VDC registers! Most have a value of 255 at startup (see below from my C128 DPAL). The VDC lightpen values can vary because it gets triggered with certain keyboard keys that that toggle bit 4 of Port B of CIA1.
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0x01,0x5e,0xff,0xff,0xff,0xff,0x9f,0xff, 0xff,0xef,0xff,0xff,0xff,0xff,0xff,0xc2, 0xff,0xff,0xff,0xff,0xff
|
|
|
Post by willymanilly on Oct 27, 2018 10:56:30 GMT
If you run the following command before loading and running the program, it will work as expected on Z64K. fori=3584to4095:pokei,0:next
|
|
|
Post by jmpff3d on Oct 27, 2018 13:19:27 GMT
That glitch you see is related to the c128 startup memory pattern. The memory at the locations causing the glitch need to be set to 0 from the default value of 255. Currently I'm just using the startup pattern I observed from my PAL c64c for both c64 and c128 emulation. Duly Noted ... Thanks for the quick reply, as always !
On a side note I've recently implemented VDC register startup values into Z64K using an Action Replay Cartridge to go straight into C64 mode bypassing setting of any VDC registers! Reminds me, I may submit a silly ROM MOD I did to one of my 128s, allowing me to accept or deny C64 mode when such catridges were present at power-up.
Cheers!
|
|
|
Post by bjonte on Oct 27, 2018 17:29:39 GMT
Very impressive! A bit sad that it won’t work perfectly on a real machine. Still very impressive. BASIC 7 shows its strengths as well.
|
|
|
Post by willymanilly on Oct 27, 2018 23:36:43 GMT
Just checked on real hardware and it has exactly the same glitch when loaded immediately after a cold start of the computer as Z64K! Using the pokes I mentioned above fixes it though.
|
|
|
Post by jmpff3d on Oct 27, 2018 23:49:16 GMT
HAAAAAAAAAAAHAHAHA .. oh, that's hilarious. Zoltan must have devved on VICE .. =)
|
|
|
Post by willymanilly on Oct 28, 2018 0:02:29 GMT
That's why it's always important to always check on real hardware no matter how good an emulator is. I was really hoping the glitch was only a power on memory pattern issue when I first saw it so I didn't need to spend countless hours debugging to fix it in Z64K. I only suspected it was because there's been a few bug reports I've had from people where the bug ended up being caused by the memory not being initialised by the program to accommodate for the variations of power on memory patterns.
|
|