English Amiga Board


Go Back   English Amiga Board > Support > support.WinUAE

 
 
Thread Tools
Old 15 December 2014, 15:48   #701
amilo3438
Amiga 500 User
 
Join Date: Jun 2013
Location: EU
Posts: 1,504
Quote:
Originally Posted by Toni Wilen View Post
EDIT: MadeInCroatia for some reason does not immediately disable CIA-B interrupts when it takes over the system but only later and if TOD interrupt triggers during that period: crash.
So it will crash on WinUAE, but on a real A500 it will not crash, right? (this is what confuses me)

p.s.
I found some general info about the bug here (probably you know for it) in "Time-of-Day (TOD) Clock" and "Errata" parts.
http://en.wikipedia.org/wiki/MOS_Technology_CIA

Quote:
Due to a bug in many 6526s (see also errata below), the alarm IRQ would not always occur when the seconds component of the alarm time is exactly zero. The workaround is to set the alarm's tenths value to 0.1 seconds.

The 8520 revision of the CIA, used in the Amiga, modified the time-of-day clock to be a 24-bit binary counter, replacing the BCD format of the 6526. Other behavior was similar, however.

In addition to the aforementioned alarm clock interrupt bug, many CIAs exhibited a defect in which the part would fail to generate a timer B hardware interrupt if the interrupt control register (ICR) was read one or two clock cycles before the time when the interrupt should have actually occurred.
EDIT: In addition, found some more infos here:
http://forum.6502.org/viewtopic.php?...e12c0&start=30

the article: George Hug, Toward 2400 (Transactor Vol. 9, Issue 3 - Feb. 1989 p.62)
http://archive.org/stream/transactor...e/n63/mode/1up (see in RS-232 bugs)

Last edited by amilo3438; 15 December 2014 at 18:19.
amilo3438 is offline  
Old 15 December 2014, 19:17   #702
amilo3438
Amiga 500 User
 
Join Date: Jun 2013
Location: EU
Posts: 1,504
Key West BBS Intro 2 (Intro) -> http://janeway.exotica.org.uk/release.php?id=73893

A500 ECS Agnus 1MB ... some glitch shows on left-below side on screen after a while!
Attached Thumbnails
Click image for larger version

Name:	KeyWestBBSTro2_002.png
Views:	226
Size:	9.5 KB
ID:	42456  

Last edited by TCD; 02 January 2015 at 14:20. Reason: Screenshot problem moved to a new thread
amilo3438 is offline  
Old 15 December 2014, 20:56   #703
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,510
Quote:
Originally Posted by amilo3438 View Post
Key West BBS Intro 2 (Intro) -> http://janeway.exotica.org.uk/release.php?id=73893

A500 ECS Agnus 1MB ... some glitch shows on left-below side on screen after a while!
A500 confirmed and does not seem to be ECS specific.

Last edited by TCD; 02 January 2015 at 14:21. Reason: Screenshot problem moved to a new thread
Toni Wilen is offline  
Old 16 December 2014, 18:15   #704
Sergey
 
Posts: n/a
Quote:
Originally Posted by Toni Wilen View Post
Worst ever report but untick "CIA TOD Bug" in Advanced chipset as a workaround.
Thanks for your answer!
In this mode, this demo works.

For me demo "madeinCroatia" has always been a kind of test for compatibility. It does not always run the first time, even on the original Amiga1200/600.
I think the question can be closed.
Thanks again for your answer and great WinUAE emulator. I look forward to the release of new versions.
 
Old 16 December 2014, 20:49   #705
amilo3438
Amiga 500 User
 
Join Date: Jun 2013
Location: EU
Posts: 1,504
Quote:
Originally Posted by Sergey View Post
For me demo "madeinCroatia" has always been a kind of test for compatibility. It does not always run the first time, even on the original Amiga1200/600.
Dont know does it works on a real A1200, but in WinUAE Quickstart A1200 base config. it will show a guru message after a while.
amilo3438 is offline  
Old 17 December 2014, 19:22   #706
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,510
Unreliable startup most likely confirms it is disk timing sensitive (takes too long -> crash due to TOD interrupt). Disk is practically the only random part in hardware. (initial disk position, how long it takes for disk to rotate at full speed)
Toni Wilen is offline  
Old 21 December 2014, 10:23   #707
vagrant
Registered User
 
vagrant's Avatar
 
Join Date: Mar 2012
Location: Australia
Age: 44
Posts: 1,126
Delight - Overdose -- http://janeway.exotica.org.uk/release.php?id=7257

It's been so long since I have seen this demo, I can't remember if this is correct behavior or not.. but I assume it's not. (sorry if a bit vague)

During certain plasma effects the framerate drops significantly.
1st instance is about half way through the demo.
Here's a short 50fps video capture of what I mean: [ Show youtube player ]

The capture is from standard A500 quickstart 1.3
Again, apologies if it's correct behavior
vagrant is offline  
Old 21 December 2014, 11:29   #708
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,510
Quote:
Originally Posted by ED-209 View Post
Delight - Overdose -- http://janeway.exotica.org.uk/release.php?id=7257

It's been so long since I have seen this demo, I can't remember if this is correct behavior or not.. but I assume it's not. (sorry if a bit vague)

During certain plasma effects the framerate drops significantly.
1st instance is about half way through the demo.
Here's a short 50fps video capture of what I mean: [ Show youtube player ]

The capture is from standard A500 quickstart 1.3
Again, apologies if it's correct behavior
It is correct behavior. A500 confirmed. Some plasmas are slower than others.
Toni Wilen is offline  
Old 21 December 2014, 13:25   #709
vagrant
Registered User
 
vagrant's Avatar
 
Join Date: Mar 2012
Location: Australia
Age: 44
Posts: 1,126
Thanks Toni
vagrant is offline  
Old 22 December 2014, 20:33   #710
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,510
Quote:
MadeInCroatia
Properly fixed.

68000 interrupt line (IPL) sampling seems to be microcode controlled after all because for example some MOVE.L variants fetch interrupt line state before write and some after write. (even when cycle sequence is exact same between variants after writes and only difference is effective address calculations before writes)
Toni Wilen is offline  
Old 23 December 2014, 15:36   #711
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,510
Made In Croatia problem better explanation (before everyone forget what was the real problem..)

It has following code:

Code:
000002AC 47f9 00bf d000           LEA.L $00bfd000,A3
000002B2 177c 007f 0d00           MOVE.B #$7f,(A3, $0d00) == $00bfdd00
000002B8 422b 0e00                CLR.B (A3, $0e00) == $00bfde00
000002BC 2b7c a000 2000 ffca      MOVE.L #$a0002000,(A5, -$0036) == $00dff09a
000002C4 21fc 0000 05b0 0078      MOVE.L #$000005b0,$00000078
Because of TOD bug, CIA-B ALARM interrupt is active at this point (and has been active since the initial vector part started, confirmed on my real A500 with oscilloscope connected to CIA-B interrupt pin)

Move to $bfdd00 does not clear the interrupt, only reads clear interrupts, disabling CIA interrupt by writing to $bfdd00 won't disable already active interrupts.

Then comes move.l #$a0002000,-$36(a5). Enable CIA-B interrupt ($a000->INTENA) and attempts to clear currently active CIA-B interrupt ($2000->INTREQ).

INTREQ write does nothing because it is external (CIA) interrupt. (Logic analyzer confirmed, CPU IPL lines won't change)

Finally interrupt vector is set, same vector that previous line enabled. If interrupt starts before this write: crash.

Reason: some MOVE.L variants read interrupt state before writes and some after writes. For example MOVE.L #$a0002000,$dff09a will read it after both writes (and would crash) but MOVE.L #$a0002000,(an) or x(an) read it before writes (and work). All 3 variants have 100% identical write,write,prefetch cycle sequence. (Most/all MOVE.W's seem to read if after writes)

This is yet another undocumented 68000 behavior, it seems interrupt line sampling is microcode controlled and different instructions sample it in different phases during instruction execution... (Fortunately in Amiga only MOVEs matter because custom registers are read-only or write-only)
Toni Wilen is offline  
Old 23 December 2014, 17:28   #712
mc6809e
Registered User
 
Join Date: Jan 2012
Location: USA
Posts: 372
Quote:
Originally Posted by Toni Wilen View Post
This is yet another undocumented 68000 behavior, it seems interrupt line sampling is microcode controlled and different instructions sample it in different phases during instruction execution... (Fortunately in Amiga only MOVEs matter because custom registers are read-only or write-only)
Ah, this explains why MOVEM.L + DIVS has a longer latency than a pair of MOVEM.L or DIVS.

MOVEM.L must sample very early and DIVS very late. Together they have potential 300+ cycle latency.
mc6809e is online now  
Old 23 December 2014, 22:45   #713
amilo3438
Amiga 500 User
 
Join Date: Jun 2013
Location: EU
Posts: 1,504
Captain Fizz Meets The Blaster-Trons (Crack Intro) by Beyonders & Vision Factory
http://janeway.exotica.org.uk/release.php?id=73946

tested on A500 1.2/1.3KS OCS 0.5MB configuration

winuae_2700 (2013.12.05) (OK)
test winuae_2710b0 (2013.12.24 09:56) (OK)
test winuae_2710b0 (2013.12.24 21:07) (broken)
winuae_2710b1 (2014.01.04) (broken)

Last edited by TCD; 02 January 2015 at 14:22. Reason: Screenshot problem moved to a new thread
amilo3438 is offline  
Old 24 December 2014, 20:19   #714
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,510
Quote:
Originally Posted by mc6809e View Post
Ah, this explains why MOVEM.L + DIVS has a longer latency than a pair of MOVEM.L or DIVS.

MOVEM.L must sample very early and DIVS very late. Together they have potential 300+ cycle latency.
Which MOVEM.L? Used addressing mode can make a difference.

Quote:
Originally Posted by amilo3438 View Post
Captain Fizz Meets The Blaster-Trons (Crack Intro) by Beyonders & Vision Factory
http://janeway.exotica.org.uk/release.php?id=73946

tested on A500 1.2/1.3KS OCS 0.5MB configuration

winuae_2700 (2013.12.05) (OK)
test winuae_2710b0 (2013.12.24 09:56) (OK)
test winuae_2710b0 (2013.12.24 21:07) (broken)
winuae_2710b1 (2014.01.04) (broken)
Real A500: exact same behavior as in 3.0.0. A1000 (real or emulation): works!

Last edited by TCD; 02 January 2015 at 14:22. Reason: Screenshot problem moved to a new thread
Toni Wilen is offline  
Old 24 December 2014, 20:27   #715
mc6809e
Registered User
 
Join Date: Jan 2012
Location: USA
Posts: 372
Quote:
Originally Posted by Toni Wilen View Post
Which MOVEM.L? Used addressing mode can make a difference.
MOVEM.L x.L, D0-D7/A0-A7 followed by DIVS x.L, Dn
mc6809e is online now  
Old 28 December 2014, 04:08   #716
vagrant
Registered User
 
vagrant's Avatar
 
Join Date: Mar 2012
Location: Australia
Age: 44
Posts: 1,126
Fluffy Bears - Masturbation

I got a request to capture this old polish trackmo.. there is some gfx glitch during the opening erm.. 'animation'.

Glitch appears on standard quickstart 1.3, (all other memory/ks configs cause guru.)

The demo is not mentioned on any database, so this disk comes direct from source. Not sure if the disk itself is faulty..
Attached Thumbnails
Click image for larger version

Name:	Masturbation_002.png
Views:	245
Size:	10.8 KB
ID:	42558  
Attached Files
File Type: zip FluffyBears-Masturbation.zip (861.5 KB, 104 views)
vagrant is offline  
Old 28 December 2014, 09:48   #717
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,510
Use ECS. Same OCS sprite problem as in some earlier posts.
Toni Wilen is offline  
Old 28 December 2014, 13:16   #718
vagrant
Registered User
 
vagrant's Avatar
 
Join Date: Mar 2012
Location: Australia
Age: 44
Posts: 1,126
Gah, ECS agnus with 512k chip must have been only combination I didn't try.. working now, thanks toni
vagrant is offline  
Old 02 January 2015, 01:14   #719
amilo3438
Amiga 500 User
 
Join Date: Jun 2013
Location: EU
Posts: 1,504
Deep Core - CD32/AGA (Crack Intro) by Epix -> http://janeway.exotica.org.uk/release.php?id=74075

A500 OCS/ECS (most common) ... not sure, but maybe it should be checked on a real Amiga also!

Last edited by TCD; 02 January 2015 at 14:22. Reason: Screenshot problem moved to a new thread
amilo3438 is offline  
Old 06 January 2015, 13:06   #720
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,510
Quote:
Originally Posted by amilo3438 View Post
Deep Core - CD32/AGA (Crack Intro) by Epix -> http://janeway.exotica.org.uk/release.php?id=74075

A500 OCS/ECS (most common) ... not sure, but maybe it should be checked on a real Amiga also!
Yeah, same weird behavior on real A500 too.
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
Problematic GVP A530 Turbo Mogsy support.Hardware 22 13 November 2012 19:12
Problematic thread? prowler project.EAB 5 28 October 2011 00:06
Problematic Holiday Lemmings 94 demo disk MethodGit support.Games 19 08 November 2010 03:56
Problematic slaves list keropi project.Killergorilla's WHD packs 44 28 November 2008 12:46
Looking for two demos... eternalcrusader request.Demos 3 01 August 2006 08:57

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 04:55.

Top

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