English Amiga Board


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

 
 
Thread Tools
Old 29 December 2017, 15:09   #1
robinsonb5
Registered User
 
Join Date: Mar 2012
Location: Norfolk, UK
Posts: 767
Display problem - works on emulation, not on real hardware

I've been tinkering with a graphics demo to draw a Space Harrier style chequered floor and got a little prototype working reasonably well - or so I thought.
It works fine on linux uae 0.8.15, the latest fs-uae and the latest WinUAE, and also on the Chameleon64's Minimig core - but on real hardware (tested so far with A500 and A500+) the playfields aren't displayed - I just get a black screen, yet a placeholder sprite that I've included is displayed correctly.

I've not done much programming of the Amiga's hardware so I'm probably making a stupid mistake here - but if anyone can shed any light on what's going on I'd be very grateful!

The program sets up a dual-playfield screen, but the front playfield isn't yet used. A precalculated floor texture is rendered by manipulating bitplane pointers with the copper, and the colours are also changed each line with the copper.
Source is attached - I've been building with VBCC. A small amount of ASM code which includes the copperlist, and the main program prototyped in C (with critical sections to be converted to ASM later on, once it works.)
Attached Files
File Type: zip copperbug.zip (562.9 KB, 36 views)
File Type: zip FlyBy.zip (80.3 KB, 39 views)
robinsonb5 is offline  
Old 29 December 2017, 15:29   #2
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 45
Posts: 23,883
It seems to be yet another BPLCON2 invalid value side-effect in dual playfield mode.

Only 0 to 4 PF1P2 or PF2P2 value is valid. 5 to 7 does weird things, at least on OCS/ECS hardware.

Most known side-effect is SWIV scoreboard where invalid value causes plane 4 to become "selector" plane, if it is set: color is always 16. If not set: planes 0 to 3 work normally.

At least one dual-playfield side-effect is emulated which seems to be similar or even same (Will check later) as this one, empty dual play field plane is invisible (background color) but it still hides the other playfield behind it.

EDIT: It is same side-effect but conditions to trigger it conflict (either running man/scoopex logo disappears or your test program is not blank), more testing to do..

Last edited by Toni Wilen; 29 December 2017 at 15:43.
Toni Wilen is offline  
Old 29 December 2017, 16:17   #3
robinsonb5
Registered User
 
Join Date: Mar 2012
Location: Norfolk, UK
Posts: 767
Many thanks - that was indeed my problem, and having changed my BPLCON2 value from 0x7f to 0x64 it works as expected.
Thanks again!
robinsonb5 is offline  
Old 21 January 2018, 20:53   #4
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 45
Posts: 23,883
I did some more tests and it seems to be quite simple after all. (Not yet confirmed enough to post in undocumented features thread)

OCS/ECS only.

No dual playfield:

If number of planes is 5 or 6 and BPLCON2 PF2 is >= 5 and if plane 5 (counting from 1) has bit set: other planes are ignored in palette selection. (This was also incorrect previously, it happens both 5 and 6 plane modes, not just 5 plane mode)

Dual playfield:

Any number of planes. No 5+ requirement here.

If playfield's matching BPLCON2 PFx value is >=5 and if playfield is not transparent, it is always drawn using COLOR0. Priorities still work normally, only color selection becomes strange.

EDIT: HAM interestingly is 100% unaffected.

Last edited by Toni Wilen; 22 January 2018 at 17:49.
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
Trying to find ADF files of Pinball Illusions that works on a real A1200 spannernick support.Games 18 28 August 2016 12:32
On real hardware one CF card works the other doesn't, but... Sim085 support.Hardware 3 20 July 2015 22:26
OS3.9 install works WinUAE but not with CF in real Amiga eebuckeye support.WinUAE 26 12 May 2014 15:16
WHDLoad on PC works fine but not on real Amiga DC33 support.Apps 17 04 September 2011 21:57
What display do you use for real Amiga? kixs New to Emulation or Amiga scene 47 18 November 2007 23:48

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 21:08.


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