English Amiga Board


Go Back   English Amiga Board > Support > support.WinUAE

 
 
Thread Tools
Old 14 March 2015, 20:34   #121
Ian
Global Moderator
 
Ian's Avatar
 
Join Date: May 2001
Location: Derby, UK
Age: 46
Posts: 2,299
Not really beta related Toni, so please don't kill me, but it's been bothering me for a while (although I don't feel it's worth starting a completely new thread for).

When you select PPC or any other accelerator board, is it possible to have the available roms pre populated in the "accelerator board rom file" drop down? If possible with only the correct roms listed (although that would be the icing on the cake)
Ian is offline  
Old 15 March 2015, 12:49   #122
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,553
Quote:
Originally Posted by Ian View Post
Not really beta related Toni, so please don't kill me, but it's been bothering me for a while (although I don't feel it's worth starting a completely new thread for).
New thread is usually better if you are not sure.

Quote:
When you select PPC or any other accelerator board, is it possible to have the available roms pre populated in the "accelerator board rom file" drop down? If possible with only the correct roms listed (although that would be the icing on the cake)
It already does it. ROMs compatible with selected accelerator board are only listed.
Toni Wilen is offline  
Old 15 March 2015, 12:52   #123
Ian
Global Moderator
 
Ian's Avatar
 
Join Date: May 2001
Location: Derby, UK
Age: 46
Posts: 2,299
Doesn't show any for me I have to manually browse for the correct rom. The drop down list in the rom panel is always empty for me.
Ian is offline  
Old 15 March 2015, 13:01   #124
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,553
Quote:
Originally Posted by Ian View Post
Doesn't show any for me I have to manually browse for the correct rom. The drop down list in the rom panel is always empty for me.
Does ROM scan result window show any accelerator boards? If not, roms are not found.
Toni Wilen is offline  
Old 15 March 2015, 15:39   #125
mark_k
Registered User
 
Join Date: Aug 2004
Location:
Posts: 3,349
Not a bug report, but... in ide.cpp you have functions adide_encode_word() and adide_decode_word().
Code:
uae_u16 adide_decode_word(uae_u16 w)
{
	uae_u16 o = 0;

	if (w & 0x8000)
		o |= 0x0001;
	if (w & 0x0001)
		o |= 0x0002;

	if (w & 0x4000)
		o |= 0x0004;
	if (w & 0x0002)
		o |= 0x0008;

	if (w & 0x2000)
		o |= 0x0010;
	if (w & 0x0004)
		o |= 0x0020;

	if (w & 0x1000)
		o |= 0x0040;
	if (w & 0x0008)
		o |= 0x0080;

	if (w & 0x0800)
		o |= 0x0100;
	if (w & 0x0010)
		o |= 0x0200;

	if (w & 0x0400)
		o |= 0x0400;
	if (w & 0x0020)
		o |= 0x0800;

	if (w & 0x0200)
		o |= 0x1000;
	if (w & 0x0040)
		o |= 0x2000;

	if (w & 0x0100)
		o |= 0x4000;
	if (w & 0x0080)
		o |= 0x8000;

	return o;
}
That's fairly clear, but unless the compiler is very clever, having 16 if statements probably isn't the fastest way to do it (branch misprediction?). How about something like this as an alternative?
Code:
uae_u16 adide_decode_word(uae_u16 w)
{
    uae_u16 o = 0;
    for (uae_u8 i = 0; i < 8; i++) {
        o |= (w & 1<<i) << i+1;                // bit n -> bit 2n+1 for n=0..7
        o |= ((w & 1<<i+8) >> i+8) << 14-2*i;  // bit n -> bit 30-2n for n=8..15
    }
    return o;
}
mark_k is offline  
Old 15 March 2015, 16:45   #126
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,553
Quote:
Originally Posted by mark_k View Post
Not a bug report, but... in ide.cpp you have functions adide_encode_word() and adide_decode_word().
Same code has been there for years. I only moved it to more correct location.
It was done once and then forgotten, perhaps it is time to optimize now..
Toni Wilen is offline  
Old 15 March 2015, 19:05   #127
mark_k
Registered User
 
Join Date: Aug 2004
Location:
Posts: 3,349
About AdIDE...

The ROM enables booting from floppy drives 1-3 on Kickstart 1.x.

There should probably be a ROM Disabled option to allow use with Kickstart 1.2.

I used ICDPrepHD to partition an HDF and installed WB 1.3.2 to it. The HDF boots to Workbench fine. After doing that, if I press Ctrl-A-A to reset I get a yellow screen with flashing power LED and this log text:
Exception 3 (8a80007) at f80f50 -> f80404!
That was with Kickstart 2.04 or 3.1/ECS/2MB chip/8MB fast config. Perhaps some incompatibility with the ICD boot ROM? No problem with Kickstart 1.3.

With Kickstart 2.05 (37.350) on resetting one time WinUAE crashed. Other times the emulated machine hangs at a white screen. Pressing Ctrl-A-A again gets it to boot the HDF. Apart from the crash which I couldn't reproduce both those problems might happen on real hardware.

(Remove .zip extension from the HDF archive filename before unpacking.)
Attached Files
File Type: zip A500_AdIDE_1.3_OCS_68000.uae.zip (3.1 KB, 109 views)
File Type: zip adide_21MB_HDF_installed_WB1.3.2.tar.xz.zip (242.5 KB, 129 views)
mark_k is offline  
Old 15 March 2015, 19:12   #128
mark_k
Registered User
 
Join Date: Aug 2004
Location:
Posts: 3,349
Quote:
Originally Posted by Toni Wilen View Post
Beta 11:
- Added rare SupraDrive 2000 DMA emulation. Boot ROM are not available, some supra install disks have on-disk loadable driver which has bug in 2000 DMA model specific code that causes it to hang (uses wrong address register, overwrites one inportant byte in interrupt handler code..) Perfect. AMAB6 ROM is selectable in rom select box but it is not compatible with 2000 DMA. (Thanks to mark_k for HD driver disassembling and examination)
If anyone else wants to test Supra DMA controller emulation, get supraboot.dms from www.l8r.net. Replace devs/supradirect.device on that disk with the attached fixed version.
Attached Files
File Type: zip supradirect_FIXED.zip (3.0 KB, 119 views)
mark_k is offline  
Old 15 March 2015, 19:59   #129
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,553
Quote:
Originally Posted by mark_k View Post
About AdIDE...

The ROM enables booting from floppy drives 1-3 on Kickstart 1.x.
Possibly this is the reason for reset issue, see below.

Quote:
There should probably be a ROM Disabled option to allow use with Kickstart 1.2.
Forgot..

Quote:
I used ICDPrepHD to partition an HDF and installed WB 1.3.2 to it. The HDF boots to Workbench fine. After doing that, if I press Ctrl-A-A to reset I get a yellow screen with flashing power LED and this log text:
Exception 3 (8a80007) at f80f50 -> f80404!
Driver sets some reset proof kicktags, probably doing something wrong..

Can't duplicate any crashes.
Toni Wilen is offline  
Old 15 March 2015, 20:37   #130
Ian
Global Moderator
 
Ian's Avatar
 
Join Date: May 2001
Location: Derby, UK
Age: 46
Posts: 2,299
Quote:
Originally Posted by Toni Wilen View Post
Does ROM scan result window show any accelerator boards? If not, roms are not found.
Yes, shows all roms I have apart from PPC, and you are right it does list them all, I've only ever tested with PPC roms.
Ian is offline  
Old 15 March 2015, 21:15   #131
mark_k
Registered User
 
Join Date: Aug 2004
Location:
Posts: 3,349
More about AdIDE. This problem could be due to WinUAE's default C/H/S not matching what I used in the ICD Format Utility, but the program seems to think lots of sectors are bad for some reason.

I booted icd_ide_scsi.DMS from www.l8r.net. That disk contains version 2.10 of the ICD Format Utility.

I started with a blank 21,411,840-byte HDF. Boot the disk and run ICD_Formatter. After selecting the drive when the Select Unit to Format requester appears, you're prompted to Enter IBM BIOS Type. It doesn't seem like there's any way to manually specify C/H/S values. http://vintage-pc.tripod.com/types.html lists BIOS drive types and corresponding C/H/S values. I used type 2 which is 615/4/17.

[If you enter 0 or 15 at the BIOS Type requester, the emulated machine crashes/gurus.]

Anyway... I entered 2 for BIOS Type. The Format Utility shows one partition with strange geometry: under Hard Disk/Controller Info it shows C/H/S 615/4/17, but in the partition list it shows LoCyl 2 HiCyl 652???

Next I clicked Partition, leaving Verify Options set to Normal. At the Verifying Hard Drive... stage, it got to about sector 11000, then the Error Sector figure climbs to 120. At that point there is lots of repeated log output:
**** IDE26 command 20
IDE INT 81 -> 09
**** IDE26 command 20
IDE INT 81 -> 09
**** IDE26 command 20
IDE INT 81 -> 09


Once it gets to the end, it says Partitioning, then Not Enough Sectors in Reserved Tracks for Bad Sectors. At that point the Exit button flashes but clicking it does nothing.
mark_k is offline  
Old 16 March 2015, 14:54   #132
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,553
Quote:
Originally Posted by mark_k View Post
More about AdIDE. This problem could be due to WinUAE's default C/H/S not matching what I used in the ICD Format Utility, but the program seems to think lots of sectors are bad for some reason.
Stupid driver/partitioning program (Later partitioning program seems to have some kind of weird geometry autodetection option)

Any sane IDE driver/formatter uses LBA mode and ignores geometry completely or tells the drive that I'd like to use CHS mode with this geometry, please (Using Initialize Drive Parameters ATA command) or at least ask the drive for its default CHS geometry and use it. (Identify Drive ATA command)

So far all other IDE drivers have been sane compared to AdIDE.

Physical geometry GUI may be added later if there are other IDE/SCSI drivers that require it.
Toni Wilen is offline  
Old 16 March 2015, 15:28   #133
mark_k
Registered User
 
Join Date: Aug 2004
Location:
Posts: 3,349
Slightly simplified version of the AdIDE decode function...
Code:
uae_u16 adide_decode_word(uae_u16 w)
{
    uae_u16 o = 0;
    for (uae_u8 i = 0; i < 8; i++) {
        o |= (w & 1<<i) << i+1;           // bit n -> bit 2n+1 for n=0..7
        o |= (w>>i+8 & 1) << 14-2*i;      // bit n -> bit 30-2n for n=8..15
    }
    return o;
}
mark_k is offline  
Old 16 March 2015, 16:38   #134
mark_k
Registered User
 
Join Date: Aug 2004
Location:
Posts: 3,349
Quote:
Originally Posted by Toni Wilen View Post
Physical geometry GUI may be added later if there are other IDE/SCSI drivers that require it.
You could probably reuse the Surfaces and Sectors boxes in the Hardfile Settings window, the cylinders number being implied by the HDF size.
mark_k is offline  
Old 16 March 2015, 17:40   #135
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,553
Quote:
Originally Posted by Ian View Post
Yes, shows all roms I have apart from PPC, and you are right it does list them all, I've only ever tested with PPC roms.
BlizzardPPC/CyberStorm ROMs are special (already explained in some other thread).

- they are flash roms
- board config is saved in flash (CSMK3 and PPC boards only)
- Any real hardware dumped flash rom contents also includes board serial number.

-> checksum based check can't work. Any flash based rom is currently simply filename-based.

Rename them as:

cyberstormmk1_040.rom
cyberstormmk1_060.rom
cyberstormmk2.rom
cyberstormmk3.rom
cyberstormppc.rom
blizzardppc_040.rom
blizzardppc_060.rom
Toni Wilen is offline  
Old 16 March 2015, 18:50   #136
rsn8887
Registered User
 
rsn8887's Avatar
 
Join Date: Oct 2006
Location: USA
Posts: 1,065
Hello Toni,
thank you again for the continuing improvements you bring to WinUAE!

I don't have much of a bug report yet, but maybe what I experienced rings a bell with you. I found that the sound quality on my netbook is much better with Wasapi and Wasapi EX than with Directsound.

However, I saw WinUAE latest beta crash three times the other day on my Windows 7 netbook after about half an hour of play. Each time, it happened using wasapi and wasapi-EX sound drivers and using the sound-over-hdmi (hooked up to TV). Each time, the WinUAE window closed by itself and a windows dialog popped up mentioning some sound-related dll as the culprit. Sadly I forgot the name of the dll.

It worked perfectly without crashing after I switched to DirectSound (at the expense of quality, e.g. crackling). This never happened in 3.0.0 as far as I can recall. I will try to find out more tonight or in the next few days, and will append configs etc. once I know more.
rsn8887 is offline  
Old 16 March 2015, 21:47   #137
mark_k
Registered User
 
Join Date: Aug 2004
Location:
Posts: 3,349
Quote:
Originally Posted by Toni Wilen View Post
Any sane IDE driver/formatter uses LBA mode and ignores geometry completely or tells the drive that I'd like to use CHS mode with this geometry, please (Using Initialize Drive Parameters ATA command) or at least ask the drive for its default CHS geometry and use it. (Identify Drive ATA command)
The AdIDE ROM driver does seem to work that way, it's just the old format program which is the problem. The ROM issues Initialize Drive Parameters with C/H/S values from the CPRM sector. If there is no CPRM sector it issues an Identify Drive command.

Edit: It does issue Identify Drive, but doesn't seem to do anything with the returned data. It seems to default to C/H/S 615/4/17 if there is no CPRM sector.

Last edited by mark_k; 16 March 2015 at 22:11.
mark_k is offline  
Old 19 March 2015, 21:26   #138
mark_k
Registered User
 
Join Date: Aug 2004
Location:
Posts: 3,349
I've been using my usual config with HDF on GVP Series I controller ID#0. That works fine.

I added a CD-ROM drive on ID#2 and selected a .cue file for the CDPD#2 disc. On booting there are a lot of accesses to the CD drive, and eventually I get the purple insert disk screen; the system doesn't boot from hard disk as it should. The same thing happens if there is no CD in the drive. (On my real A2000 with GVP Series II controller there is no problem having a CD-ROM drive connected as ID 2.)

I noticed that the GVP ROM (v3.15) seems to issue a MODE SENSE command for page $00:
CD SCSIEMU 0: 1A.00.00.00.04.00.00.00.00.00.00.00 CMDLEN=6 DATA=0677F5A8 LEN=4
CD SCSIEMU MODE SENSE PC=0 CODE=0 DBD=0
CD SCSIEMU REPLY: 0F.00.00.08.


What is page 0? It's listed as vendor-specific in the SCSI spec.
Attached Files
File Type: zip GVP_SI_CD_configs.zip (6.6 KB, 102 views)
mark_k is offline  
Old 20 March 2015, 00:24   #139
mritter0
Registered User
 
Join Date: Sep 2013
Location: Bettendorf, IA, USA
Age: 52
Posts: 204
With the latest beta I have been getting some crashes at different times. Sometimes when I press F12, Restart, Start, it will crash. Sometimes it is during regular use.

I am programming and running/testing my program. My program doesn't crash to cause WinUAE to crash. It may be related, it may not. Posting just in case.
Attached Files
File Type: zip winuae_debug.zip (204.7 KB, 90 views)
mritter0 is offline  
Old 20 March 2015, 18:44   #140
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,553
Quote:
Originally Posted by rsn8887 View Post
It worked perfectly without crashing after I switched to DirectSound (at the expense of quality, e.g. crackling). This never happened in 3.0.0 as far as I can recall. I will try to find out more tonight or in the next few days, and will append configs etc. once I know more.
Need to narrow it down to single beta but also make sure there has not been any driver/windows updates.. This really sounds like a driver bug.

I don't remember any sound driver related changes in any recent betas.

Quote:
Originally Posted by mark_k View Post
On booting there are a lot of accesses to the CD drive, and eventually I get the purple insert disk screen; the system doesn't boot from hard disk as it should.
WD based controller emulation didn't really work if more than 1 unit was enabled. (b12 big change side-effect). Fixed in next beta.

Quote:
What is page 0? It's listed as vendor-specific in the SCSI spec.
I think it was only documented in some really old SCSI-1 spec. I don't remember anymore..


Quote:
Originally Posted by mritter0 View Post
With the latest beta I have been getting some crashes at different times. Sometimes when I press F12, Restart, Start, it will crash. Sometimes it is during regular use.

I am programming and running/testing my program. My program doesn't crash to cause WinUAE to crash. It may be related, it may not. Posting just in case.
All dumps have same cause, something to do with cyberstorm mk3/ppc scsi device free/init but attached config is from unexpanded amiga.

Attach correct config and winuaelog.txt.
Toni Wilen is offline  
 


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

Similar Threads
Thread Thread Starter Forum Replies Last Post
WinUAE 3.0.0 beta series (was 2.8.2/2.9.0) Toni Wilen support.WinUAE 1010 15 December 2014 13:41
WinUAE 2.4.0 beta series Toni Wilen support.WinUAE 342 29 March 2012 09:02
WinUAE 2.3.2 beta series Toni Wilen support.WinUAE 79 31 May 2011 19:39
WinUAE 2.3.0 beta series (was 2.2.1) Toni Wilen support.WinUAE 229 22 September 2010 19:20
WinUAE 1.6.0 beta series (was 1.5.4) Toni Wilen support.WinUAE 751 22 May 2009 07:24

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 03:08.

Top

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