English Amiga Board


Go Back   English Amiga Board > Support > support.WinUAE

 
 
Thread Tools
Old 19 July 2013, 16:44   #61
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,516
RTG/chipset option should now work.

btw, it is VGA text mode that NetBSD uses if compatible RTG board is detected. So it seems text mode is confirmed working.

Picasso II/II+ use some weird way of addressing passthrough switch (It is the address that encodes the on/off state, not value. Not 100% sure how it is working)

Other boards use IO $8000 bit 5 to control passthrough. Your Piccolo X test case probably means something else is wrong if you don't see any "SPECIAL" messages. (Bad X config? Uses non-working CL mode?)
Toni Wilen is online now  
Old 19 July 2013, 17:22   #62
mark_k
Registered User
 
Join Date: Aug 2004
Location:
Posts: 3,343
Quote:
Originally Posted by Toni Wilen View Post
btw, it is VGA text mode that NetBSD uses if compatible RTG board is detected. So it seems text mode is confirmed working.
Cool.
Quote:
Originally Posted by Toni Wilen View Post
Picasso II/II+ use some weird way of addressing passthrough switch (It is the address that encodes the on/off state, not value. Not 100% sure how it is working)

Other boards use IO $8000 bit 5 to control passthrough. Your Piccolo X test case probably means something else is wrong if you don't see any "SPECIAL" messages. (Bad X config? Uses non-working CL mode?)
I had a quick look at src/sys/arch/amiga/dev/grf_cl.c in the NetBSD source (and grf_clreg.h). It looks like the Picasso II/II+ can use CL-GD5426, 5428 or 5429 chips. Also the cl_boardinit(), RegWakeup(), RegOnpass(), Regoffpass() functions might be of some help?

It may be that X not automatically switching from RTG to native is normal, and there's some config setting that needs to be changed to enable that. I don't know enough about NetBSD or X to say.

It might also be worth playing with the NetBSD grfconfig command which can be used to adjust the display mode. /dev/grf3 is the Cirrus card. So e.g. grfconfig /dev/grf3 shows the current mode.
mark_k is offline  
Old 19 July 2013, 19:10   #63
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,516
Quote:
Originally Posted by mark_k View Post
RegWakeup(), RegOnpass(), Regoffpass() functions might be of some help?
Not really because there are multiple addresses that trigger passthrough, also it seems NetBSD developers also weren't 100% sure how PicassoII/II+ passthrough works because written value is FF but I am quite sure only address matters, value is ignored.

Updates:

- VGA planar modes work now (at least they work better than previously). [CL emulation "bug", planar was restricted to PC-style A0000-BFFFF IO addresses, Amiga of course only uses linear addressing)
- Cursor also works in planar modes.
- NetBSD + Picasso II/II+ passthrough improved.
- Manual toggle is now END+PageDown

EGS boot image is still incorrect.
Toni Wilen is online now  
Old 19 July 2013, 19:55   #64
mark_k
Registered User
 
Join Date: Aug 2004
Location:
Posts: 3,343
Quote:
Originally Posted by Toni Wilen View Post
- Manual toggle is now END+PageDown
Aaargh, any chance you could make that configurable? That combination is impossible with my laptop keyboard.

I mentioned the NetBSD console cursor sometimes not appearing. Well that is (I guess) the VGA/hardware text mode cursor. I noticed that if I switch back and forth between RTG and native output (pressing PgDown in the previous winuae.zip version) sometimes the cursor reappears, sometimes it disappears, and sometimes it (when it was not visible before) appears for a moment then vanishes again, on switching from native to RTG output. The same on opening and closing the settings window. OpenBSD 3.2 also show issues with its cursor. In the OpenBSD case though, the cursor is supposed to be pink. That can either disappear or sometimes it becomes grey (same as text colour). The pink-to-grey happens when you type some text at the command prompt then press backspace. if you then type a few more letters it changes back to pink.

Testing the latest winuae.zip with Piccolo/EGS, I can reliably get WinUAE to crash in planar mode (depth 1-4). Boot the Piccolo/EGS test HDF, run egs/EGS-Prefs/EGS-Tweaker from Workbench, click the Test button. An 8-bit EGS screen opens. You can click the number buttons to change screen depth. Click 1, 2, 3 or 4. Select Frequency in the drop-down gadget. Some pixels are drawn then WinUAE crashes.
mark_k is offline  
Old 19 July 2013, 20:26   #65
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,516
Updated.
Crash fixed (CL blitter emulation bug in planar modes)
Text mode cursor flashes correctly (my bug)
Shortcut changed to END + F10

EDIT: EGS boot screen palette corruption can't be CL emulation bug (at least not planar or palette bug). Difficult to debug without knowing where it tries to fetch the palette.

EDIT2: one color in mouse cursor changing when it is on top of different colors is probably correct because Cirrus Logic hardware cursor has normal transparent color but only 2 "real" colors, 3rd color becomes inverted version of pixel under the 3rd color.

Last edited by Toni Wilen; 19 July 2013 at 21:45.
Toni Wilen is online now  
Old 19 July 2013, 22:09   #66
mark_k
Registered User
 
Join Date: Aug 2004
Location:
Posts: 3,343
Nice going with all the fixes. The sometimes-invisible text cursor problem seems to be gone. The OpenBSD "cursor changes from pink to grey when you backspace" issue is still present.
Quote:
Originally Posted by Toni Wilen View Post
Shortcut changed to END + F10
Another one which my laptop keyboard can't do!

I guess this may well be a bug in the EGS Piccolo driver not RTG card emulation, but anyway... While dragging a window on a 24-bit EGS screen, the mouse pointer vanishes. It reappears when you release the mouse button. Boot Piccolo/EGS HDF, run egs/EGS-Prefs/eScreenmode. Change Colors to 16777216, click Use. Run eScreenmode (or another EGS program) and drag its window around. The pointer doesn't vanish when you resize a window.

I've noticed several crashes on loading a config (with RTG card, not sure if that's relevant), running emulation then later pressing F12 and loading another config (possibly with a different RTG card). WinUAE crashes on loading the new config. If that's not supposed to happen I can provide a couple of sample configs.
mark_k is offline  
Old 19 July 2013, 22:16   #67
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,516
Quote:
Originally Posted by mark_k View Post
Another one which my laptop keyboard can't do!
You never told what kind of keyboard you have... (apparently totally useless)
Toni Wilen is online now  
Old 19 July 2013, 22:23   #68
mark_k
Registered User
 
Join Date: Aug 2004
Location:
Posts: 3,343
Heh, yeah key combinations which require pressing the Fn + two keys don't tend to work too well if both keys have alternate functions. I guess that applies to most laptop keyboards. On the plus side, it is quite nice to type on.

There's a pic of the German-layout version of my laptop keyboard at http://www.notebookcheck.net/fileadm...MG_1406_03.jpg
mark_k is offline  
Old 20 July 2013, 14:26   #69
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,516
END+F9 now OpenBSD cursor problem is most likely CL emulation bug. Not that interesting to debug.

EDIT: if you still have crashes, attach dumps from next beta or include better explanation

EDIT2: Cursor problem seems to be OpenBSD bug, it does not reset text attribute color back to cursor color.

Last edited by Toni Wilen; 20 July 2013 at 15:50.
Toni Wilen is online now  
Old 20 July 2013, 19:01   #70
mc6809e
Registered User
 
Join Date: Jan 2012
Location: USA
Posts: 372
Curious: memwatch no longer seems to work when memwatch point is in chipram.
mc6809e is offline  
Old 20 July 2013, 20:25   #71
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,516
Quote:
Originally Posted by mc6809e View Post
Curious: memwatch no longer seems to work when memwatch point is in chipram.
Yesterday's winuae.zip (or later) should work.
Toni Wilen is online now  
Old 20 July 2013, 20:30   #72
emufan
Registered User
 
Join Date: Feb 2012
Location: #DrainTheSwamp
Posts: 4,545
Quote:
Originally Posted by Toni Wilen View Post
You need to use Picasso96Mode to create modes. Note that Picasso96Mode seems to be the most unintuitive Amiga program ever!
what about Picasso96 Variable Setter? latest version 3.5 by Cosmos.
older version 3.2 is on aminet - something which may help?
emufan is offline  
Old 20 July 2013, 22:33   #73
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,516
More Cirrus Logic updates:
- Old Picasso96 software planar mode missing graphics elements fixed. (Yet another PC-only IO region limit that is not Amiga compatible)
- Corruption in EGS 7.4 8 and 16 color planar modes fixed.

Now all test cases seem to work.

Quote:
Originally Posted by emufan View Post
what about Picasso96 Variable Setter? latest version 3.5 by Cosmos.
older version 3.2 is on aminet - something which may help?
I don't know or care I only mentioned that using Picasso96 "proper way" (not uaegfx) can be quite different experience..
Toni Wilen is online now  
Old 21 July 2013, 14:49   #74
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,516
http://www.winuae.net/files/b/winuae_2700b3.zip

Beta 3:

- Disable Z3 Cirrus Logic RTG board if 24-bit address space.
- Hard reset and CL board enabled crashed.
- Added Chipset/RTG screen toggle input event ("Toggle chipset/RTG screen"). Only works when RTG mode is active, supports both Cirrus Logic emulation and uaegfx. NOTE: temporarily also hardwired to END + F9.
- VGA planar modes (<=16 colors) work now.
- VGA text modes confirmed working (NetBSD and OpenBSD enable VGA console automatically if supported board detected)
- Piccolo appears to have 4M address space (VRAM alias). Fixes EGS 7.4 graphics bugs and missing mouse cursor.
- >1024 pixel tall modes work now correctly, including cursor vertical positioning (see below).
- GD542x documentation says hardware cursor can't be used if "Multiply Vertical Registers by Two" bit is set (allows >1024 pixel tall modes, wasn't emulated in original qemu code) unless chip is GD5429 or later. But CGX4 does use it with boards that only had GD5426 or GD5428. I guess it only happens when cgxmode is used to create impossible modes that no real monitor or chip can support...

- Added misc panel "Hide all UAE autoconfig boards" option. It deletes all UAE-only autoconfig board ConfigDev nodes in ExpansionBase.
- Rewritten .cue decoding, some CD images with audio tracks had incorrect audio positioning, for example Tie Break Tennis CDTV and Falcon CDTV.
- Log also physical/virtual CD drive track information.
- CIA-A vsync TOD counting is now cycle-exact. (if cycle values in Commodore's Agnus sync pulse timing sheet are correct, they appear to be because it is standard PAL/NTSC)
- CIA-B hsync TOD counting is also positioned cycle-exactly now (end of hsync pulse), was at the start of scanline previously.
Toni Wilen is online now  
Old 21 July 2013, 15:48   #75
Mad-Matt
Longplayer
 
Mad-Matt's Avatar
 
Join Date: Jan 2005
Location: Lincoln / UK
Age: 44
Posts: 1,849
Send a message via ICQ to Mad-Matt Send a message via MSN to Mad-Matt
Concerning CGXMode. Are there any ideal settings we should use as our WinUAE Virtual Monitor? Specifically the pixelclock limit as this wouldn't want to be higher then what the real gfx card supports?.

Not an issue just a quick note that by default, cgxmode sets 320x240 as doublescan which doubles the output vertically. Modifying this mode in cgxmode to Normal scan produces the correct output.
Mad-Matt is offline  
Old 21 July 2013, 15:53   #76
Leandro Jardim
Registered User
 
Leandro Jardim's Avatar
 
Join Date: Nov 2009
Location: Legoland
Age: 45
Posts: 1,461
Hmm. Here at home there is a little bug, it slowdowns specifically, when the screen buffering is different on both AGA and RTG, and I enable VSync 50Hz, on AGA...
Leandro Jardim is offline  
Old 21 July 2013, 16:47   #77
mark_k
Registered User
 
Join Date: Aug 2004
Location:
Posts: 3,343
Quote:
Originally Posted by Toni Wilen View Post
- Piccolo appears to have 4M address space (VRAM alias). Fixes EGS 7.4 graphics bugs and missing mouse cursor.
Should that be 4MB address space from the point of view of the Cirrus chip (i.e. 2MB mirrored/duplicated), not the Amiga's address space? With 2700b3 the Piccolo board now occupies 4MB of address space on the Amiga side, or at least that's what ShowConfig reports. I'm pretty sure an actual Piccolo board occupies 2MB (but I need to confirm that on my A2000 to be 100% certain). Also this review mentions the board requiring 2MB Zorro II address space.


I noticed a regression between the winuae.exe dated 2013-07-19 19:23 and 2700b3 with EGS 7.4. Try this:
- With 2700b3, boot Piccolo/EGS 7.4 test HDF, run eScreenMode. Change screen depth to 24 and click Save.
- Run eScreenMode again and try dragging the window around. It gets corrupted.
- With the previous winuae.exe run eScreenMode (which opens in 24-bit since you just saved that setting). While the mouse pointer is not visible, dragging the window does work without corruption.
Edit to add: also, with 2700b3 run eScreenMode, set depth to 24 and click Test Screen. The test image which appears is slightly corrupted (compare with e.g. the 8- or 16-bit test screen). Also, some text is shown far too small with 2700b3, but appears correct with the earlier winuae.exe (see pics).

I mentioned before about sometimes seeing crashes on loading a different config. I've been able to reproduce the crash with two configs which are in the attached zip file with a dump file. The dump file might not be any use since I'm using Wine but I can try testing under native Windows if needed.

NetBSD_5.2_A3000_040_Piccolo.uae: A3000/040/Piccolo-like config, use with a NetBSD 5.2 HDF. 040/MMU, no JIT.
RTG_testing_PiccoloZII_A3000.uae: A3000/030/MMU/noFPU/Piccolo, no JIT.

Run WinUAE. Load NetBSD_5.2_A3000_040_Piccolo.uae and boot.
When the initial Boot: prompt appears, press F12 and load the RTG_testing_PiccoloZII_A3000.uae config. Notice there is no crash at that point.
Exit and re-run WinUAE. Load the NetBSD_5.2_A3000_040_Piccolo.uae config and boot.
Press return at the Boot: prompt. Wait until the NetBSD console text appears. After a few seconds press F12 and load RTG_testing_PiccoloZII_A3000.uae
WinUAE crashes. Maybe the crash happens (or is more likely to happen) when the MMU is in use? The MMU probably wasn't active at the initial Boot: prompt.
Attached Thumbnails
Click image for larger version

Name:	eScreenMode_24bit_2700b3.png
Views:	453
Size:	4.9 KB
ID:	36139   Click image for larger version

Name:	eScreenMode_24bit_winuae20130719.png
Views:	566
Size:	4.7 KB
ID:	36140  
Attached Files
File Type: zip config_crash.zip (26.2 KB, 317 views)

Last edited by mark_k; 21 July 2013 at 16:55.
mark_k is offline  
Old 21 July 2013, 16:54   #78
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,516
Quote:
Originally Posted by mark_k View Post
Should that be 4MB address space from the point of view of the Cirrus chip (i.e. 2MB mirrored/duplicated)
Driver writes to second 2M "bank" = Amiga address space needs to be 4M. Perhaps it detects 4M board but 4M Piccolo shouldn't exist. Really boring to debug..

EDIT: eScreenMode bug is "impossible". It uses GD5434+ only blitter bits. I guess this also explains why it assumes 4M VRAM space.

EDIT2: EGS does not read CL chip id register, no idea how it attempts to detect it..

Last edited by Toni Wilen; 21 July 2013 at 17:24.
Toni Wilen is online now  
Old 21 July 2013, 17:33   #79
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,516
Quote:
Originally Posted by Mad-Matt View Post
Concerning CGXMode. Are there any ideal settings we should use as our WinUAE Virtual Monitor? Specifically the pixelclock limit as this wouldn't want to be higher then what the real gfx card supports?.
Emulation does not care, it can be as high as driver supports. Emulation also does not care about refresh rate, you can for example create 20Hz refresh rate mode if you want (it probably allows higher resolution) without slow refresh.

Quote:
Not an issue just a quick note that by default, cgxmode sets 320x240 as doublescan which doubles the output vertically. Modifying this mode in cgxmode to Normal scan produces the correct output.
Real hardware needs doublescan, makes it standard VGA monitor compatible.

Quote:
Originally Posted by Leandro Jardim View Post
Hmm. Here at home there is a little bug, it slowdowns specifically, when the screen buffering is different on both AGA and RTG, and I enable VSync 50Hz, on AGA...
I don't think this kind of "report" is useful..
Toni Wilen is online now  
Old 21 July 2013, 20:46   #80
mark_k
Registered User
 
Join Date: Aug 2004
Location:
Posts: 3,343
Quote:
Originally Posted by Toni Wilen View Post
Driver writes to second 2M "bank" = Amiga address space needs to be 4M. Perhaps it detects 4M board but 4M Piccolo shouldn't exist. Really boring to debug..
I've been looking at the code in EGSPiccoloDriver, version 7.403 and the earlier 6.020 which came on my Piccolo disk set. There's definitely something strange going on.

In v6.020 the code seems to initialise the memory size variable to $200000 (2MB). Then it tests the memory size by writing some bytes to the start of Piccolo memory and different bytes to 1MB after that. If there's a mismatch on reading back, as there would be on a card with 1MB, it sets the memory size variable to 1MB.

In v7.403 however, the memory size variable is initialised to 4MB, and if the check code (which looks similar to that in 6.020, though I didn't compare them byte-by-byte) finds a mismatch (i.e. 1MB card memory) it sets the memory size variable to 2MB(!).

I wonder whether the developer copy/pasted some code from another driver (the SD64 one maybe), and didn't test v7.403 on a Piccolo card before releasing it???
mark_k 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 2.5.1 beta series Toni Wilen support.WinUAE 69 22 December 2012 10:22
WinUAE 2.3.3 beta series Toni Wilen support.WinUAE 124 17 September 2011 15:48
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

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 22:28.

Top

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