English Amiga Board


Go Back   English Amiga Board > Coders > Coders. Asm / Hardware

 
 
Thread Tools
Old 13 October 2020, 22:05   #1
Bruce Abbott
Registered User
 
Bruce Abbott's Avatar
 
Join Date: Mar 2018
Location: Hastings, New Zealand
Posts: 2,546
What instruction is this? $F041 $0001

Devpac 3 and Barfly debuggers both refuse to disassemble the instruction shown in hex below (partial disassembly of ProAsm V1.92). Does anyone know what it is?

Code runs in supervisor mode and appears to be trying to determine the processor type or features.

Code:
 cmp.w   #$0004,D2
 beq.s   w001570
 .
 .
w001570:
 dc.w    $f041      <--- unknown instruction
 dc.w    $0001
 nop
 nop
 or.l    D0,D2
Bruce Abbott is offline  
Old 13 October 2020, 22:22   #2
DanScott
Lemon. / Core Design
 
DanScott's Avatar
 
Join Date: Mar 2016
Location: Tier 5
Posts: 1,212
I don't think it's a vanilla 68000 instruction ?
DanScott is offline  
Old 13 October 2020, 22:35   #3
hitchhikr
Registered User
 
Join Date: Jun 2008
Location: somewhere else
Posts: 511
It's a 68851 mmu instruction (psbc d1).
hitchhikr is offline  
Old 13 October 2020, 22:36   #4
mcgeezer
Registered User
 
Join Date: Oct 2017
Location: Sunderland, England
Posts: 2,702
WinUAE disassembles it as Illegal Instruction.

Action Replay disassembles it as PSBC D1

Very odd - not seen that before.
mcgeezer is offline  
Old 13 October 2020, 22:50   #5
ross
Defendit numerus
 
ross's Avatar
 
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 53
Posts: 4,468
Confirmed in qemu source:
{"psbc", 4, two(0xf040, 0x0001), two(0xffc0, 0xffff), "$s", m68851 },
0xf040->d0, 0xf041->d1
and MC68851 manual (page 265)
cc second instruction word
BC B clear 000001 word


Yes, PSBC D1 instruction.
ross is offline  
Old 14 October 2020, 21:47   #6
jotd
This cat is no more
 
jotd's Avatar
 
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,168
Damn this is a rare chip I had never heard of before. Were there Amigas with 68020 and MC 68851 as MMU? I doubt WinUAE supports this either.
jotd is offline  
Old 14 October 2020, 22:25   #7
phx
Natteravn
 
phx's Avatar
 
Join Date: Nov 2009
Location: Herford / Germany
Posts: 2,496
Quote:
Originally Posted by jotd View Post
Were there Amigas with 68020 and MC 68851 as MMU?
Sure. I have an A2500 which came with 020/851/881. It's the ultimate testing target!
phx is offline  
Old 14 October 2020, 22:32   #8
Rotareneg
Registered User
 
Rotareneg's Avatar
 
Join Date: Sep 2017
Location: Kansas, USA
Posts: 324
The A2620 could use the 68851, but I'm not sure if it was equipped as standard or optional.
Rotareneg is offline  
Old 14 October 2020, 22:54   #9
jotd
This cat is no more
 
jotd's Avatar
 
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,168
I'm sure Toni will be delighted to support that chip in WinUAE, and Wepl will be thrilled to support that chip in Whdload
jotd is offline  
Old 15 October 2020, 16:29   #10
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,506
I don't think there are any Amiga programs that require 68851 or use 68851 features. First requirement for emulation some hardware: it needs software!
Toni Wilen is offline  
Old 15 October 2020, 17:20   #11
NorthWay
Registered User
 
Join Date: May 2013
Location: Grimstad / Norway
Posts: 839
Quote:
Originally Posted by Toni Wilen View Post
I don't think there are any Amiga programs that require 68851 or use 68851 features. First requirement for emulation some hardware: it needs software!
The original Guardian Angel by Valentin Papaela(sp?).
NorthWay is offline  
Old 15 October 2020, 17:22   #12
Don_Adan
Registered User
 
Join Date: Jan 2008
Location: Warsaw/Poland
Age: 55
Posts: 1,960
Quote:
Originally Posted by Toni Wilen View Post
I don't think there are any Amiga programs that require 68851 or use 68851 features. First requirement for emulation some hardware: it needs software!
Enforcer?
http://www.sinz.org/Michael.Sinz/Enforcer/index.html

OpenBSD?

https://www.openbsd.org/amiga.html
Don_Adan is offline  
Old 15 October 2020, 17:33   #13
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,506
Do they actually use 68851-only features?

If program also supports 68030, modifying it to work with 68020+68851 does not require use of any 68851-only features. (68030 MMU is more or less integrated 68851 with lots of weird features dropped)
Toni Wilen is offline  
Old 15 October 2020, 17:49   #14
Don_Adan
Registered User
 
Join Date: Jan 2008
Location: Warsaw/Poland
Age: 55
Posts: 1,960
Quote:
Originally Posted by Toni Wilen View Post
Do they actually use 68851-only features?

If program also supports 68030, modifying it to work with 68020+68851 does not require use of any 68851-only features. (68030 MMU is more or less integrated 68851 with lots of weird features dropped)
Enforcer seems not:

* 68020 NOTES
* The 68020 does not have a built-in MMU but has a co-processor
* feature that lets an external MMU be connected. Enforcer MMU code
* is designed for use with 68851 MMU. This is the some-what 68030
* compatible MMU by Motorola. Enforcer uses the same code for both
* the 68030 and the 68020/68851. For this reason, 68020/68851 users
* should see the 68030 NOTES section.
Don_Adan is offline  
Old 15 October 2020, 20:01   #15
DrBong
HOL / AMR Team Member
 
DrBong's Avatar
 
Join Date: Dec 2001
Location: Australia
Posts: 2,632
Quote:
Originally Posted by Toni Wilen View Post
I don't think there are any Amiga programs that require 68851 or use 68851 features. First requirement for emulation some hardware: it needs software!
Quote:
Originally Posted by Toni Wilen View Post
Do they actually use 68851-only features?

If program also supports 68030, modifying it to work with 68020+68851 does not require use of any 68851-only features. (68030 MMU is more or less integrated 68851 with lots of weird features dropped)
Virtual memory utils were perhaps the most well-known mainstream use of the MMU on the Amiga (e.g. VMM, Gigamem, HDMem). Other software like Shapeshifter/Fusion, AMIX/NetBSD, and PhxAss are able to make significant use of the MMU, so likely support the 68851 too. Whether they used any features unique to the 68851 is hard to know without perhaps looking at the code closely because, as you say, the 68030 MMU supports many features of the 68851. It wouldn't make great sense for the coders of these utils to support something unique to the 68851 to the exclusion of the MMUs built-in to higher CPUs, but you never know.

Last edited by DrBong; 15 October 2020 at 20:51. Reason: Added more links!
DrBong is offline  
Old 16 October 2020, 15:05   #16
Tomislav
Registered User
 
Join Date: Aug 2014
Location: Zagreb / Croatia
Posts: 302
AMIX (Amiga UNIX) uses 68020+68851 or 68030 with MMU. Also WHDLoad can use MMU partially. (You know that there was 68451 MMU for 68000/010, but it was rarely used.)

There are 2 cpScc (cp = coprocessor) instructions: PScc (68851) and FScc (FPU; native on 68881, 68882 and 68040; software emulated on 68060 - in 68060.library on Amiga).
Tomislav is offline  
Old 16 October 2020, 18:58   #17
nogginthenog
Amigan
 
Join Date: Feb 2012
Location: London
Posts: 1,311
As NetBSD & AMIX are here I might we can add Linux/68k which Geert Uytterhoeven still seems to be supporting to this day.
nogginthenog is offline  
Old 16 October 2020, 19:00   #18
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,506
Repeat reply: I don't think they use any 68851-only features.
Toni Wilen is offline  
Old 16 October 2020, 19:13   #19
phx
Natteravn
 
phx's Avatar
 
Join Date: Nov 2009
Location: Herford / Germany
Posts: 2,496
Toni is probably right. The 851-specific features are rarely used. And I can confirm for NetBSD that 68851 and 68030 systems are treated the same.

Quote:
Originally Posted by DrBong View Post
and PhxAss are able to make significant use of the MMU
Wow! I didn't know that.
(It can assemble 68851 mnemonics as many other assemblers do.)
phx is offline  
Old 16 October 2020, 22:18   #20
DrBong
HOL / AMR Team Member
 
DrBong's Avatar
 
Join Date: Dec 2001
Location: Australia
Posts: 2,632
Quote:
Originally Posted by phx View Post
Toni is probably right. The 851-specific features are rarely used. And I can confirm for NetBSD that 68851 and 68030 systems are treated the same.
Even if he wasn't, what could possibly warrant the time & energy spent on supporting obscure 68851-specific features under emulation?

Quote:
Wow! I didn't know that.
(It can assemble 68851 mnemonics as many other assemblers do.)
Yeh, but only when you use assemblers on a military-spec Amiga 2000! Anyway, it was interesting to learn that even the 68010 had the possibility of adding an external MMU (68841)....but no home computer used it AFAIK.

Last edited by DrBong; 16 October 2020 at 22:24.
DrBong 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
68020+ instruction timings? oRBIT Coders. Asm / Hardware 3 23 September 2017 12:38
LINK instruction hell jotd Coders. Asm / Hardware 10 26 August 2017 16:55
Instruction cache question Lord Riton Coders. General 2 07 April 2011 12:25
Please help me: one by one instruction needed JewStrangler support.WinUAE 15 20 September 2010 18:55
$48e70000 instruction Asman Coders. General 5 10 February 2006 23:00

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 06:34.

Top

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