tag:blogger.com,1999:blog-17487316.post2396656670528345302..comments2024-01-13T09:14:12.131+00:00Comments on The life of a Games Programmer: #CSpect V2.12.36Mikehttp://www.blogger.com/profile/15958965170878448339noreply@blogger.comBlogger8125tag:blogger.com,1999:blog-17487316.post-41524761339330167052020-10-04T16:01:42.039+00:002020-10-04T16:01:42.039+00:00please share to us a tutorial explaining how to in...please share to us a tutorial explaining how to install CSpect on GNU/Linux, using a native .deb amd64 package (i don't know where can we find it), or using Winenitrofuranohttps://www.blogger.com/profile/10318080146381059626noreply@blogger.comtag:blogger.com,1999:blog-17487316.post-24489389621730272402020-09-23T18:57:11.880+00:002020-09-23T18:57:11.880+00:00As this only happens when interrupts are enabled, ...As this only happens when interrupts are enabled, have you checked where the stack (SP) is pointing? The layer 2 corruption could be the return address put on the stack when the interrupt routine is called.David Powellhttps://www.loadcode.co.uk/noreply@blogger.comtag:blogger.com,1999:blog-17487316.post-16881466720303683992020-09-23T08:13:45.961+00:002020-09-23T08:13:45.961+00:00Hi David,
no, nothing fancy. This is enough to rep...Hi David,<br />no, nothing fancy. This is enough to reproduce:<br /><b><br /> ei<br /> ld a, 000011<br /> ld bc,$123B<br /> out (c),a<br /></b><br />It seems that enabling interrupts while Layer2 is paged in ROM corrupts it.Peter Botkahttps://www.blogger.com/profile/08029964051759748198noreply@blogger.comtag:blogger.com,1999:blog-17487316.post-81004414294179267292020-09-22T17:39:55.220+00:002020-09-22T17:39:55.220+00:00Are you using ESXDOS calls to load or save to the ...Are you using ESXDOS calls to load or save to the SD card? I had a similar problem when trying to load or save files to SD Card while Layer 2 ROM overlay writing was enabled. When you do that the DivIDE system bank switches in RAM over some of the ROM. If you have Layer 2 write enable over the ROM, any DivIDE RAM writes will change Layer 2, but reads will read the DivIDE RAM causing Layer 2 corruption and the ESXDOS call to fail. To fix the problem simply turn off Layer 2 writing before accessing the SD card and turn it back on afterwards.David Powellhttps://www.loadcode.co.uk/noreply@blogger.comtag:blogger.com,1999:blog-17487316.post-55051238628392433592020-09-22T13:57:33.845+00:002020-09-22T13:57:33.845+00:00Found an odd bug: in Spectrum Next emulation mode ...Found an odd bug: in Spectrum Next emulation mode (-tv -zxnext -nextrom -mmc=.\cspect-next-2gb.img) if i use the Layer2 screen paged in at 0x0000 in write-only mode (xx000011 to port $123B), enabling interrupts (ei) causes a pixel with color 0x1f at position 0x0040 to appear on the currently selected Layer2 page. If i enable interrupts when the Layer2 image is visible but not in write-only mode, the pixel won't appear. I can overwrite this pixel writing any value at 0x0040 but selecting the same bank again will overwrite it again. Can it be a bug in CSpect or am i doing something wrong here?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-17487316.post-18568040870288639082020-09-12T10:07:08.294+00:002020-09-12T10:07:08.294+00:00Found an odd bug using "M to select memory in...Found an odd bug using "M to select memory in CSPECT" If you use a longish lable name, then it a) fails to move the lower pannel, but then screws up the input character set as if there is some sort of buffer overflow corrupting keyboard input. Not a biggie, just an observation<br />Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-17487316.post-4469875073561295392020-09-10T22:50:55.380+00:002020-09-10T22:50:55.380+00:00Are there any examples of using seg directives in ...Are there any examples of using seg directives in snasm for 8k memory page alocation?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-17487316.post-17302241409415692072020-09-06T10:25:47.566+00:002020-09-06T10:25:47.566+00:00Maybe a daft question, but when you load memory ma...Maybe a daft question, but when you load memory maps, can you set breakpoints based on local symbols generated from Snasm, e.g. "@LocalGotHere", I know you can set PC to say "GlobalGotHere" via PC GloablGotHere but it seems to ignore a PC @LocalGotHereAnonymousnoreply@blogger.com