![]() |
![]() |
#1 |
Total Chaos forever!
Join Date: Aug 2007
Location: Waterville, MN, USA
Age: 49
Posts: 2,200
|
HRT mon+WHDLoad slave=suspend&resume?
I was wondering if cutting some code out of HRT Mon to save the state of an Amiga from inside a WHDLoad slave is feasable. If so, are there any other WHDLoad slaves that use GPL code?
|
![]() |
![]() |
#2 |
This cat is no more
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,369
|
problem is
- absolute memory allocation if game uses expansion memory (which is non chip) - write-only register values (ex: $dff080 copper list start) need to be snooped, this require an MMU (SNOOP mode) but slows down games (except on winuae, which is not the point) I had done this feature in JST but that required that the slave coder registers copperlist location & other stuff sometimes. And copperlist location may change depending on the game state (menu, level 1, loading...). I remember that some JST slaves had this feature implemented (Desert Strike). So it's a tough one if you want to make that generic. I don't know how HRTMon interrupts & resumes the display but I'm pretty sure it's not using/changing the copperlist at all (because it cannot know its location for sure). It's just stopping all copper DMA and setting bitplane pointers & colors manually (in some rare cases, games don't like being interrupted by hrt because their copperlists lack some registers, which are just set at start of the game, and hrtmon overwrites them) |
![]() |
![]() |
#3 |
Total Chaos forever!
Join Date: Aug 2007
Location: Waterville, MN, USA
Age: 49
Posts: 2,200
|
Thanks for the information!
|
![]() |
![]() |
#4 |
Zone Friend
Join Date: May 2006
Location: France
Posts: 1,836
|
I guess you can fetch the all memory for copperlist and code that set it and propose a choice if many are found or use a dictionary of all known games copperlist
|
![]() |
![]() |
#5 |
Total Chaos forever!
Join Date: Aug 2007
Location: Waterville, MN, USA
Age: 49
Posts: 2,200
|
|
![]() |
![]() |
#6 |
This cat is no more
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,369
|
copperlist scan is completely heuristic and sometimes doesn't work at all...
dict of games copperlist: okay but that's a huge work: different versions, and sometimes memory allocation that changes addresses... modifying chipset to be able to read values in write-only registers would work, but in that case it's not going to work on a real amiga, where it's really useful (on emulators it's not needed, and developping this feature only for FPGA is a big no no if you ask me) |
![]() |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Hrt-Mon refresh in Tracer broken | StingRay | support.WinUAE | 10 | 07 December 2015 22:21 |
Generic WHDLOAD slave | Gaula92 | project.WHDLoad | 15 | 08 March 2013 02:07 |
WHDload ASM Slave | Retro1234 | Coders. General | 21 | 27 October 2008 13:20 |
chessmaster whdload slave | pbareges | support.Games | 1 | 27 September 2006 22:44 |
Whdload wish: HD suspend at game start | Jerry | project.WHDLoad | 15 | 16 May 2005 10:09 |
|
|