29 May 2021, 13:55 | #1 |
Registered User
Join Date: Nov 2014
Location: Italy
Posts: 2,500
|
24bit Addressing
just a curiosity to know if change something in compatibility or performance with 68000 emulation with 24bit addressing false or true. is it better emulation with it enabled or not change nothing if i set disabled?
|
29 May 2021, 15:19 | #2 |
Total Chaos forever!
Join Date: Aug 2007
Location: Waterville, MN, USA
Age: 49
Posts: 2,218
|
AmigaBasic stuffs 8 bit variables in the most significant byte of pointers. It won't run on anything with 32 bit addressing.
|
29 May 2021, 16:14 | #3 | |
Registered User
Join Date: Jun 2016
Location: europe
Posts: 1,082
|
Quote:
Another brilliant idea by everyone's favorite m$... Who needs more than 640kb for anything, let alone measly 512kb. |
|
29 May 2021, 20:33 | #4 |
Computer Nerd
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 48
Posts: 3,912
|
|
29 May 2021, 21:17 | #5 |
This cat is no more
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,410
|
some games deliberately or mistakingly use the most signficant byte in jump tables (Xenon 2). With 32 bit mode it crashes.
Masking the MSB has some overhead, though. I remember removing this masking from a musashi fork and gained 5% CPU performance |
29 May 2021, 23:24 | #6 |
Registered User
Join Date: Nov 2014
Location: Italy
Posts: 2,500
|
ok, thank you.
|
29 May 2021, 23:34 | #7 |
Registered User
Join Date: Jan 2019
Location: Germany
Posts: 3,373
|
This was inherited from the MS Basic port to MacOs. Back then, MacOs used the topmost 8 bits of each pointer for its own memory management, to indicate the state of a handle. MS ported its Basic to Mac, and used the same idea. Then, they took the MacOs port, and ported it and its memory management to Amiga.
|
30 May 2021, 02:33 | #8 |
Registered User
Join Date: Jul 2017
Location: San Jose
Posts: 686
|
Can the MMU be used to basically emulate 24bit addressing?
|
30 May 2021, 02:41 | #9 |
Total Chaos forever!
Join Date: Aug 2007
Location: Waterville, MN, USA
Age: 49
Posts: 2,218
|
|
30 May 2021, 06:06 | #10 | |
Registered User
Join Date: Jul 2020
Location: Bunbury/Australia
Age: 55
Posts: 27
|
Quote:
Oh, i remember it well. LOTS of old 24 bit Mac software used to crash when Apple introduced 32bit MacOs. |
|
30 May 2021, 10:11 | #11 |
Registered User
Join Date: Jan 2019
Location: Germany
Posts: 3,373
|
|
30 May 2021, 11:16 | #12 |
Registered User
|
Hi Thomas!
Is there an application on Aminet or similar which does this? It would be useful for me for using GFABasic on my emulated 32-bit OS3.9 machine. |
30 May 2021, 14:14 | #13 |
Registered User
Join Date: Jan 2019
Location: Germany
Posts: 3,373
|
No, but there is example code on Aminet how to program the MMU, see MuManual.lha. The problem is not so much reprogrammig the MMU. The problem is that if you have 32bit Mem in your system, many Os data structures are beyond the 24-bit boundary. If you would just reprogram the MMU, you wouldn't be able to reach these structures anymore, so you cannot do this at run time. You would have to do that very early during the bootstrap process, and that is the hairy part.
Anyhow. If your target is GFABasic, then the good news is that GFABasic is 32-bit clean, so there are no such problems that would require MMU tricks. The bad news is that GFABasic has a lot of *other* problems all around, such as self-modifying code, and other bad programming practise. I recall that it used the screen buffer as temporary storage for its "PRINT USING" statement, just to name one. You should be able to get GFABasic into a "somewhat working" stage with your average degrader tools - but hands off this software in general. Back then, I wasted a lot of time writing letters of bug reports to GFA, most of them remained unaddressed. On the bright side, I have now a huge collection of GFABasic disk versions. One buggier than the other... |
30 May 2021, 15:09 | #14 | |
Registered User
Join Date: Aug 2004
Location:
Posts: 3,351
|
Quote:
|
|
30 May 2021, 17:05 | #15 | |||
Registered User
|
Thank you very much for your reply, Thomas!
Quote:
Quote:
Maybe you are mixing this with compiled GFABasic programs, which indeed work fine with 32-bit memory (and OS3.9 BTW, if you take care of certain things)? My current solution is using an 68EC020 with OS1.3 for developing with GFABasic. But that is quite slow, so I want to use JIT... Quote:
|
|||
30 May 2021, 17:53 | #16 | |
Registered User
Join Date: Jan 2019
Location: Germany
Posts: 3,373
|
Quote:
No, certainly not. GFABasic is broken, but not in this regard. At least not the 3.5 release series. It still starts here, though it has other problems. |
|
06 June 2021, 16:15 | #17 | |
Registered User
|
Hi Thomas!
Quote:
How do you explain this if it is not an 32-bit issue? EDIT: Is there a way to convert GFABasic listings to BlitzBasic or C? BTW: I am using GFABasic 3.52D. Last edited by BastyCDGS; 06 June 2021 at 16:35. Reason: Added converter question |
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Conversion of 24bit RGB Image to HAM6 | DanScott | Coders. Asm / Hardware | 17 | 16 March 2020 14:13 |
IDE68K addressing | Yulquen74 | support.Hardware | 3 | 16 May 2015 16:39 |
FS: CompServ Scandoubler II (v2.0) / 24bit AGA Flickerfixer card | d0pefish | MarketPlace | 0 | 29 May 2012 11:16 |
HAM without 24bit screen | killergorilla | support.Apps | 5 | 20 October 2006 21:55 |
Addressing modes | BippyM | Coders. General | 17 | 03 February 2005 09:57 |
|
|