English Amiga Board


Go Back   English Amiga Board > Other Projects > project.CD32 Conversion

 
 
Thread Tools
Old 08 May 2016, 03:35   #721
earok
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.
earok is offline  
Old 08 May 2016, 07:14   #722
jotd
This cat is no more
 
jotd's Avatar
 
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.
jotd is offline  
Old 08 May 2016, 09:00   #723
Amigajay
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.
Amigajay is offline  
Old 08 May 2016, 09:27   #724
jotd
This cat is no more
 
jotd's Avatar
 
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)
jotd is offline  
Old 08 May 2016, 18:53   #725
Toni Wilen
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)
Toni Wilen is offline  
Old 08 May 2016, 21:36   #726
patrik
Registered User
 
patrik's Avatar
 
Join Date: Jan 2005
Location: Umeå
Age: 43
Posts: 924
Quote:
Originally Posted by Toni Wilen View Post
(I expected non-exact matching, less address decoder logic needed)
Good news! It does have quite a lot of CPLDs, or atleast many CPLD IO-pins, as I have no clue about their capacity - two 44-pins and one 84-pin if I remember correctly.
patrik is offline  
Old 09 May 2016, 07:14   #727
earok
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.
earok is offline  
Old 09 May 2016, 14:02   #728
jotd
This cat is no more
 
jotd's Avatar
 
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.
jotd is offline  
Old 09 May 2016, 23:19   #729
jotd
This cat is no more
 
jotd's Avatar
 
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.
jotd is offline  
Old 10 May 2016, 09:30   #730
Amigajay
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!
Amigajay is offline  
Old 10 May 2016, 10:30   #731
jotd
This cat is no more
 
jotd's Avatar
 
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.
jotd is offline  
Old 11 May 2016, 22:45   #732
jotd
This cat is no more
 
jotd's Avatar
 
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)
jotd is offline  
Old 13 May 2016, 23:15   #733
jotd
This cat is no more
 
jotd's Avatar
 
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!
jotd is offline  
Old 14 May 2016, 08:36   #734
Toni Wilen
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.
Toni Wilen is offline  
Old 14 May 2016, 11:18   #735
jotd
This cat is no more
 
jotd's Avatar
 
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.
jotd is offline  
Old 14 May 2016, 11:56   #736
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,518
Quote:
Originally Posted by jotd View Post
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.
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).
Toni Wilen is offline  
Old 14 May 2016, 18:02   #737
jotd
This cat is no more
 
jotd's Avatar
 
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.
jotd is offline  
Old 14 May 2016, 18:27   #738
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,518
I'll do tests soon..

Quote:
Originally Posted by jotd View Post
BTW the $B80020 register seems read-only. When I clear it, it keeps the data it had previously.
It is partial read-write. When writing two things happen: all one bits are set (don't do it, you don't want to start transfer DMA) and interrupt is cleared (=writing all zeros only clears interrupt request)

Quote:
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!
Bit 31 is subchannel DMA enable bit, it should not be normally used (or enabled) except when playing audio CD. (Used to get CD+G data)

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.
Toni Wilen is offline  
Old 14 May 2016, 19:09   #739
jotd
This cat is no more
 
jotd's Avatar
 
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.
jotd is offline  
Old 14 May 2016, 19:30   #740
Toni Wilen
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).
Toni Wilen is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 23:01.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.14690 seconds with 15 queries