View Single Post
Old 06 May 2021, 08:57   #81
jotd
This cat is no more
 
jotd's Avatar
 
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,303
Well, simplest thing: if you have one programming error like game writing slightly out of allocated memory block, then you corrupt the system when returning to the OS.

with whdload it can't really happen because even games using the OS are virtualized through kickstart emulation, and some of your productions (Tiny Bobble, Tiny Galaga & Invaders and soon WrongWayDriver so I can play it ) make a minimal use of the OS so I can trivially patch the calls.

Plus whdload protects memory blocks so nothing can be read or written outside them (exception: blitter going crazy and killing chipmem out of bounds, but that's rare). whdload also has a SNOOP option (with MMU) which checks that custom registers aren't accessed the wrong way (read of write-only register, not waiting for blitter to finish before starting new blit, invalid bits in bplcon...)

Disabling the caches on startup just because someone has a problem is pretty counter-productive. You know how to get/set the VBR and MMU TC so disabling CACR is also easy. Read, write zero, write old value on exit (some 1993-94 ECS 68020-aware games already do that). once again whdload has a NOCACHE option that does exactly that

Last edited by jotd; 06 May 2021 at 09:02.
jotd is offline  
 
Page generated in 0.07338 seconds with 11 queries