English Amiga Board


Go Back   English Amiga Board > Coders > Coders. Language > Coders. Blitz Basic

 
 
Thread Tools
Old 08 July 2016, 04:00   #1
earok
Registered User
 
Join Date: Dec 2013
Location: Auckland
Posts: 3,553
OCS specific issues?

I'm having some issues with OCS specifically (NOT with ECS, only tested under WinUAE). On AGA/ECS when I display images and play sound they work correctly, but with OCS I get a grey screen and crackling noises. I'm using the display library but didn't have much luck with slices either.

Any ideas? I can post my project if need be.
earok is offline  
Old 08 July 2016, 10:15   #2
earok
Registered User
 
Join Date: Dec 2013
Location: Auckland
Posts: 3,553
Ok, I think I've narrowed it down to a memory usage issue - how do you detect that an OCS chipset is installed?
earok is offline  
Old 08 July 2016, 10:23   #3
Daedalus
Registered User
 
Daedalus's Avatar
 
Join Date: Jun 2009
Location: Dublin, then Glasgow
Posts: 6,399
I haven't tried any projects on OCS machines unfortunately, but they should work very similarly to ECS machines. How many bitplanes are you using? Does WinUAE emulate the early OCS chipsets that are missing the EHB mode? Maybe that could be causing you issues. Or are you running out of chip RAM on the OCS setup? Are you accessing any addresses directly? IIRC some addresses change between OCS and ECS, so hardcoded addresses for decoding images to might work under one but not the other.

Edit: Sorry, I didn't see your second post, sounds like you're onto something. There are registers you can use to detect AGA but I don't know how to detect the ECS chipset specifically from OCS. Blitz doesn't have a function for detecting chipset versions, but maybe you can check for the required amount of memory being free?
Daedalus is offline  
Old 08 July 2016, 10:37   #4
earok
Registered User
 
Join Date: Dec 2013
Location: Auckland
Posts: 3,553
I think it's a chipram thing, I wiki'ed it and of course OCS can only access 512kb-1mb of chipram. Whoops!

I've worked it out how to detect it anyway, this seems to work

Quote:
VPOSR.w = Peek.w($dff004)
AGA = (VPOSR & (1 LSL 9))>0
Chip = (VPOSR LSR 8) & 63

if Chip = $00 or Chip = $10
;Is only OCS
endif
earok is offline  
Old 08 July 2016, 10:46   #5
Daedalus
Registered User
 
Daedalus's Avatar
 
Join Date: Jun 2009
Location: Dublin, then Glasgow
Posts: 6,399
Ah, very good. That's the register I remember using to detect AGA, good to know it can also be used for OCS/ECS chip revisions.
Daedalus is offline  
Old 09 July 2016, 02:07   #6
Cylon
Registered User
 
Join Date: Oct 2014
Location: Europe
Posts: 481
Why does it matter what chipset you are on when you encounter memory issues?

Checking available memory before use is mandatory if you try to max out boundaries.
Cylon is offline  
Old 09 July 2016, 02:22   #7
earok
Registered User
 
Join Date: Dec 2013
Location: Auckland
Posts: 3,553
I don't know the ins and outs of it but there is a difference when different chipsets are used regardless of available ram.

I believe it's something like, sound effects need to be in chipram, and the amount of addressable chipram varies by chipset.
earok is offline  
Old 09 July 2016, 05:04   #8
ReadOnlyCat
Code Kitten
 
Join Date: Aug 2015
Location: Montreal/Canadia
Age: 52
Posts: 1,178
Quote:
Originally Posted by earok View Post
I don't know the ins and outs of it but there is a difference when different chipsets are used regardless of available ram.

I believe it's something like, sound effects need to be in chipram, and the amount of addressable chipram varies by chipset.
All memory used by the chipset is addressed via Agnus which effectively means that this chip dictates the amount of memory which can be accessed by the whole chipset. You should just use the Agnus version number to determine the maximum chip memory range: http://amigadev.elowar.com/read/ADCD.../node00A2.html
ReadOnlyCat is offline  
Old 09 July 2016, 16:29   #9
idrougge
Registered User
 
Join Date: Sep 2007
Location: Stockholm
Posts: 4,362
The Agnus revision is the same whether you have 512k or 1 MB of chip RAM, or whether you have 1 or 2 MB of chip RAM.
idrougge is offline  
Old 09 July 2016, 21:53   #10
ReadOnlyCat
Code Kitten
 
Join Date: Aug 2015
Location: Montreal/Canadia
Age: 52
Posts: 1,178
Quote:
Originally Posted by idrougge View Post
The Agnus revision is the same whether you have 512k or 1 MB of chip RAM, or whether you have 1 or 2 MB of chip RAM.
That goes without saying, the revision number only indicates the maximum range, not the current amount of memory.
ReadOnlyCat 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
Issues running James Pond 2 OCS-ECS on NTSC A500 grhmhome support.Games 4 09 February 2015 07:26
Looking for a specific magazine name YogiYahooeys AMR suggestions and feedback 2 03 August 2011 10:06
Performance issues with Kid Chaos OCS/ECS on Intel Atom Mequa support.WinUAE 0 24 March 2010 13:52
which chips are OCS/ECS specific? NfernalNfluence support.Hardware 4 29 August 2007 20:21

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:35.

Top

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