English Amiga Board


Go Back   English Amiga Board > Support > support.WinUAE

 
 
Thread Tools
Old 15 January 2024, 21:29   #1
paraj
Registered User
 
paraj's Avatar
 
Join Date: Feb 2017
Location: Denmark
Posts: 1,107
B1260 Custom register byte write bug

Suuuuuper minor, but I don't think this matches real HW behavior.

Attached executable when run with quickstart Blizzard 1260 + "Best compatibility" (includes Adv. chipset -> Custom register byte write bug), ouputs 7f00 0000. My real B1260 outputs 7f00 7fff (even w/o startup sequence).

Core is:
Code:
        lea     custom,a0
        move.w  #$4000,intena(a0)
        move.w  intreqr(a0),d0
        or.w    #$8000,d0

        move.w  #$7fff,intreq(a0)
        move.b  #$ff,intreq(a0)
        moveq   #0,d6
        move.w  intreqr(a0),d6

        move.w  #$7fff,intreq(a0)
        move.b  #$ff,intreq+1(a0)
        moveq   #0,d7
        move.w  intreqr(a0),d7

        move.w  #$7fff,intreq(a0)
        move.w  d0,intreq(a0)
        move.w  #$c000,intena(a0)

        PRINTF  <"%04lx %04lx",10>,d6,d7
I.e. there is difference in handling of writes to odd bytes.
Attached Files
File Type: 68k cbyte.68k (340 Bytes, 36 views)
paraj is offline  
Old 11 February 2024, 19:56   #2
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,518
Confirmed (and fixed). I had (and still have) Blizzard 68060 that I used to confirm this years ago but perhaps I used bad test values.

Still need to do some test program that writes and reads random values to ADKCON and AKDCONR to 100% confirm this (make sure there is no random behavior or dependencies on "bus noise"). (ADKCON/ADKCONR is easier, can "safely" modify them without need to disable interrupts)
Toni Wilen is offline  
Old 12 February 2024, 08:11   #3
paraj
Registered User
 
paraj's Avatar
 
Join Date: Feb 2017
Location: Denmark
Posts: 1,107
Thanks for your continued attention to even the smallest details

Do you mean something like the attached? At least on my system KS v. 3.1 trackdisk is messing with some of the adkcon bits, but maybe you can avoid that if you disconnect the drive?

With interrupts off it gets through the 1M iterations on both B1260 and plain 020.

If I keep them on I see effect of the occasional change:
00fc61f4 30bc 0600 move.w #$0600,(a0)
00fc61f8 30bc 9100 move.w #$9100,(a0)
Attached Files
File Type: zip adktest.zip (1.9 KB, 8 views)
paraj 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
byte write to custom registers / Bubble bobble "black screen" jotd Coders. Asm / Hardware 5 29 March 2020 16:50
log write to custom registers with out of bounds addresses jotd support.WinUAE 12 03 February 2019 13:43
Juggler movie demo v2.0 BYTE by BYTE! TjLaZer support.Demos 3 30 November 2017 12:06
[Bug?] VHD support in 2.5.12 broken & unable to write to VHD in 2.5.11 amigafreak68k support.FS-UAE 8 01 March 2015 16:44
small GUI bug: ghosting of "write protection" label df0/df1 rsn8887 support.WinUAE 1 23 August 2010 17:02

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 16:15.

Top

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