08 May 2016, 03:35 | #721 |
Registered User
Join Date: Dec 2013
Location: Auckland
Posts: 3,542
|
The current version of CD32 load seems to include the latest version of the Virtual Mouse documentation, but not the latest version of the Virtual Mouse code. For instance the switches in the documentation:
vm, vmdelay, vmmodbut, vmmoddelay VS the switches in the code VM VMMODIFY VMMODIFYBUT The primary difference is that in the later version, VM would map to a gamepad button that you could use to turn virtual mouse on and off. Whereas in the old version (still in CD32Load) VM would just enable the virtual mouse functionality. Unfortunately I lost my dev environment in my HDD crash so I'm not sure if my latest version of the code exists anymore (it's no longer in the Zone). Edit: If someone has whatever the latest version of the last thing I uploaded to the Zone was (should contain CD32load and earok in the file name) I might be able to remerge it, whenever I get around to rebuilding my dev environment. |
08 May 2016, 07:14 | #722 |
This cat is no more
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,203
|
I don't have it. I thought I merged your work every time you submitted it.
The upper/lowercase difference is normal: I did that when I decided to use vasm instead of basm. It's cleaner to respect casing. Can you tell if your code was ever in one of my official releases ? because I keep all the releases. (maybe I downloaded your code from the zone, but my old PC doesn't even power on and I bought a new one just before that. I could salvage some files if needed, although I don't have the SATA adapters to do so) Edit: I found a file in the zone on ftp grandis (not deleted). It's a v13 with your mods from 07/02. zoned it again. Edit2: seems that current implementation lacks VMDELAY and mixes it with VM. Are you able to merge v0.26 (preview in the zone) and that one? Last edited by jotd; 08 May 2016 at 07:26. |
08 May 2016, 09:00 | #723 |
Registered User
Join Date: Jan 2010
Location: >
Posts: 2,889
|
Yeah i have earoks v13 from 5/2 and 7/2 those were seperate branch cd32loads from yours jotd, the latter was the last version he did with more vm improvements.
|
08 May 2016, 09:27 | #724 |
This cat is no more
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,203
|
As I said I found his zone uploads on EAB ftp server (the files from zone uploads are still there even if not The Zone on the eab site)
|
08 May 2016, 18:53 | #725 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,518
|
Interesting Akiko CIA vs floppy adapter behavior: for some reason floppy adapter only overrides floppy related CIA addresses that _exactly_ match official documented CIA addresses. All mirror addresses show Akiko CIA contents.
-> no need for test CD. At least not yet. So far only Akiko CIA oddity I found is that in input direction mode both BFE101 (parallel port) and BFD100 (floppy IO bits) return static $3F. Does not really make any difference because floppy IO bits are normally all in output mode. (I expected non-exact matching, less address decoder logic needed) |
08 May 2016, 21:36 | #726 |
Registered User
Join Date: Jan 2005
Location: Umeå
Age: 43
Posts: 924
|
|
09 May 2016, 07:14 | #727 |
Registered User
Join Date: Dec 2013
Location: Auckland
Posts: 3,542
|
I had a quick look at the uploaded source, that appears to be the latest of my stuff, thanks!
I don't currently have my Amiga dev environment set up and I can't remember exactly what I had, I recall having PhxAss as the assembler but can't remember what I used for the make file (what do you recommend?). I'll also need the LVO files again. |
09 May 2016, 14:02 | #728 |
This cat is no more
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,203
|
I'll prepare a package for you. I have given up phxass (it still builds CD32load but I don't use it anymore) and I now use vasm on Windows with "make" on windows too.
I never build on the Amiga again, and I save a lot of time doing so (being full 100% windows to build) I think I'm up to the task of merging your changes with my current v0.26. Will try tonight. BTW Shaq Fu AGA worked on winuae among many others like Super Off Road, ... Will test a new RUGCD disc tonight. The AGA games list is expanding, and I know the reason for the remaining which don't work: Body Blows AGA: not enough memory for CD buffers. Will be difficult to make it work but not impossible. WinUAE with 4MB chip and RESLOAD_TOP=0x3E0000: game runs perfecty. Same thing for Street Racer AGA and possibly Lion King AGA which starts but freezes just before game. Burning Rubber AGA works on emu, should work on real HW soon Shaq Fu AGA works on emu, real HW should be OK Putty Squad AGA works on real HW, as do Cool Spot & Global Gladiators (I should have read Psyogre post sooner about INT6). Chaos Engine 2 AGA works on emu, real HW should be OK now with the help of Toni. Second Samurai AGA same thing. I had the intro/menu running on real HW but got disk error, probably because v0.25 has a big AKIKO DMA bug. Last edited by jotd; 09 May 2016 at 14:09. |
09 May 2016, 23:19 | #729 |
This cat is no more
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,203
|
@earok I've merged your changes (only in main.asm, virtual_mouse.asm is OK) and fixed the VM/VMDELAY/etc. option parsing which was broken which explains why amigajay had problems.
I must have missed the "main.asm" merge at the time. This is fixed. v0.26 in the zone. Edit: removed, because big problems on previously working games... Edit2: zoned again after fixing a nasty bug with FILECACHE option Last edited by jotd; 10 May 2016 at 00:37. |
10 May 2016, 09:30 | #730 |
Registered User
Join Date: Jan 2010
Location: >
Posts: 2,889
|
Good job, many thanks JOTD! I will test it out later with the vm options back in.
Hope you guys can get Chaos Engine 2 AGA working, this is the final piece in the Bitmap Bros Collection next update! |
10 May 2016, 10:30 | #731 |
This cat is no more
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,203
|
About CE 2 AGA I will tell you tonight. The CD32load bug + work stuff delayed me.
|
11 May 2016, 22:45 | #732 |
This cat is no more
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,203
|
Toni, I just digged up the CD with CD32load v0.25 (the one with move.l #0,$B80020 and buggy DMA write with bit 25) and hex edited it (yes, there's a nice hex editor called HEX by the maker of MAME(!!) on RUGCD) to remove the call:
result: Second Samurai AGA, Chaos Engine 2 AGA ... won't start. (They kind of start with untampered 0.25: Second Samurai shows the intro, then loads forever, though, no way to make it work) It seems to affect mostly AGA games. Strange??? Other games just work fine. I think clearing or not bit 25 of Akiko DMA changes nothing (89FF=>13FF to be correct). and should it clear $B80020 (transfer) before or after clearing $B80008 (intena) |
13 May 2016, 23:15 | #733 |
This cat is no more
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,203
|
Err, been debugging a bit, and drive fails to initialize in games when PRELOAD is not set. If CD32load preloads the first file in memory, it works, but if it does not, then cd drive init fails which explains lockups in most AGA games since files cannot be preloaded.
start_akiko_activity: GETVAR_L saved_akiko_intena,D5 bset #31,D5 move.l D5,AKIKO_INTENA ; enable all Akiko CD interrupts RESTORE_REGS d5 .skip rts I perform I/O then I call move.l #0,AKIKO_INTENA ; disable all Akiko CD interrupts move.w #0,AKIKO_TRANSFER_REQ ; clear possible still active transfer complete interrupt request. which is also called before initializing drive when CD32load starts. I'm desperate here! |
14 May 2016, 08:36 | #734 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,518
|
PRELOAD in CD32load = init drive, load all data, disable Akiko interrupts and CD is not used anymore?
Without PRELOAD = disable Akiko interrupts, do something, restore interrupts, load something, disable interrupts, do something, restore interrupts and so on? When init call (if cd32 loader has one) gets called? Or does it only have single entrypoint "load something"? And of course: exact same example game needed with and without PRELOAD. (EDIT: non-PRELOAD version probably should be fine for first tests) Last edited by Toni Wilen; 14 May 2016 at 10:41. |
14 May 2016, 11:18 | #735 |
This cat is no more
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,203
|
Preload tries to load before os shuts down using os reads so avoids problems.
I ll create another cd image and will make you a test description. |
14 May 2016, 11:56 | #736 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,518
|
But then isn't the correct test to use hardware loader in preload-mode too to confirm if it is loader issue or something else? (at least if you want to reduce unknown variables).
|
14 May 2016, 18:02 | #737 |
This cat is no more
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,203
|
you're right.
Well I have created a new CD with a new CD32load version and still locks up on some games. https://www.dropbox.com/s/t8zhdaky0y...RUGCD.zip?dl=0 The menu allows to launch games, either with PRELOAD or not depending on the memory available. So it may be a bit confusing since it's not specifically designed to test CD32Load. So: to use: boot without startup sequence cd GAMES/OK/Agony cd32load agony.slave => will start on the other hand start Second Samurai ou Burning Rubber from the menu (cannot use PRELOAD since they're AGA games) or without startup: cd32load "CD0:GAMES/NW/BurningRubberAGA/BR_AGA.slave" CDBUFFER=0x120000 RESLOAD_TOP=0x1ff000 DATA=data-aga and it locks up while trying to initialize CD drive. I have made several tries using HRTMon and checking AKIKO registers and could not init the drive, whereas the AKIKO registers seem identical in Agony (init OK) or Second Samurai (init KO => lockup). It is not the pokes done in AKIKO since I have added a new NOAKIKOPOKE switch and it does not work either. Of course it starts with WinUAE! BTW the $B80020 register seems read-only. When I clear it, it keeps the data it had previously. And are you sure about setting bit 31 when enabling AKIKO INTENA on $B80008? Seems that if I write $9000000 it remains so I did some extra tests: I clear INTENA during a "dir" command and OS freezes. If I set INTENA again to $10000000 the dir command resumes... at least we got that right! Last edited by jotd; 14 May 2016 at 18:08. |
14 May 2016, 18:27 | #738 | ||
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,518
|
I'll do tests soon..
Quote:
Quote:
EDIT: Subchannel interrupt is only generated when playing audio cd, it is possible real hardware generates it when also "playing" (reading) data cd. Last edited by Toni Wilen; 14 May 2016 at 18:32. |
||
14 May 2016, 19:09 | #739 |
This cat is no more
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,203
|
BTW just tested with NOAKIKOPOKE and no more luck with drive init on most AGA games.
Strange: Body Blows Galactic AGA (also on the CD) works perfectly. It is also possible that my CD drive is a bit tired. And I'm sure that Second Samurai and Burning Rubber worked to a point on a version of a CD. I'm going slightly mad over this. I'll let you do your tests on real hardware and will try to improve whdload compatibility on winuae for games that crash because of that. |
14 May 2016, 19:30 | #740 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,518
|
Confirmed. If $b80024 bit 31 is set (subchannel DMA), hardware generates subchannel interrupts all the time (even if there is no CD!) and also transfers subchannel frames (if CD is rotating, even when not playing audio or transferring data).
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
|
|