24 May 2019, 15:04 | #21 |
Registered User
Join Date: Jul 2015
Location: The Netherlands
Posts: 3,411
|
I tend to use amigadev.elowar.com for my Amiga hardware info, as it has a complete HTML version of the HRM. Do note that the HRM does not contain AGA info.
However, the new BLTSIZV/BLTSIZH registers were added in the ECS chipset, so it does have info on them: http://amigadev.elowar.com/read/ADCD...AA.html#line13 It says that the BLTSIZEH value is 11 bits for 32768 pixels. This means it goes up in steps of one word (i.e. 16 pixels). |
24 May 2019, 19:44 | #22 |
Defendit numerus
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 53
Posts: 4,471
|
For the BLTSIZV/H is as simple as:
move.l #(h*bpls)<<16|(bpl/2),BLTSIZV(a6) The table is wrong. Right table: Code:
Address Locations: $38 $40 $48 $50 $58 $60 $68 $70 $78 $80 $88 $90 $98 $a0 $a8 $b0 $b8 $c0 $c8 $d0 $d8 x1 fetch mode: SRT | | | | | | | | | | | | | | | | | | | |STP x2 fetch mode: SRT | | | | | | | | | |STP x4 fetcc mode: SRT | | | | |STP So $a0, $a8, $b0, $b8 are all good values if DDFSTRT is $38 and you want 5 fetch (64*5=320) in x4 mode. A little warning for BPLCON1, probably you do not want to setup like this: dc.w $102,$ff00(playfield priority had nothing to do with it) Set this way it moves the display to the very right due to AGA bits. |
24 May 2019, 20:22 | #23 |
Registered User
Join Date: Feb 2018
Location: Northumberland, UK
Posts: 272
|
This is all gold! Thank you very much!
|
25 May 2019, 00:40 | #24 |
Registered User
Join Date: Feb 2018
Location: Northumberland, UK
Posts: 272
|
So reading the RKM and it's starting to make sense. What was throwing me was the 8 bits between address locations, and the fact it was doubled for the resolution.
Until I read this: Code:
Recall that the hardware resolution of display window start and stop is twice the hardware resolution of data fetch Code:
Data Fetch: 0 8 16 24 32 40 48 56 64 72 80 88 96 104 112 120 128 136 144 152 160 DW Start/Stop: 0 16 32 48 64 80 96 112 128 144 160 176 192 208 224 240 256 272 288 304 320 Address Locations: $38 $40 $48 $50 $58 $60 $68 $70 $78 $80 $88 $90 $98 $a0 $a8 $b0 $b8 $c0 $c8 $d0 $d8 x1 fetch mode: SRT | | | | | | | | | | | | | | | | | | | |STP x2 fetch mode: SRT | | | | | | | | | |STP x4 fetch mode: SRT | | | | |STP Last edited by DanielAllsopp; 25 May 2019 at 11:15. |
23 August 2019, 14:08 | #25 |
Registered User
Join Date: Feb 2018
Location: Northumberland, UK
Posts: 272
|
I'm starting to pick back up on my ASM learning, and have found the following example in a document for setting an AGA colour register:
Code:
First clear bit 9 (LOCT) of BPLCON3 Move high nibbles of each colour component to colour registers Then set bit 9 (LOCT) of BPLCON3 Move low nibbles of each colour components to colour registers For example, to change colour zero to the colour $123456 lea (CUSTOM.L),a0 move.w #$0135,COLOR00(a0) move.w #$0200,BPLCON3(a0) move.w #$0246,COLOR00(a0) move.w #$0000,BPLCON3(a0) 1. Clear bit 9 of LOCT in BPLCON3 2. Move high nibbles 3. Set bit 9 of LOCT in BPLCON3 4. Move low nibbles but the example code, and the code which I have found to work correctly looks like things are done in this order: 1. Move high nibbles 2. Set bit 9 of LOCT in BPLCON3 3. Move low nibbles 4. Clear bit 9 of LOCT in BPLCON3 Can someone help me understand why that is please? Thanks |
23 August 2019, 14:22 | #26 | |
ex. demoscener "Bigmama"
Join Date: Jun 2012
Location: Fyn / Denmark
Posts: 1,624
|
Quote:
If you look from step 4 (I just repeated step 1-3), you will see that you did exactly the same (LOCT is 0 by default). |
|
23 August 2019, 15:54 | #27 |
Registered User
Join Date: Feb 2018
Location: Northumberland, UK
Posts: 272
|
|
23 August 2019, 16:41 | #28 |
Registered User
Join Date: Oct 2017
Location: Sunderland, England
Posts: 2,702
|
For a performance top tip clear LOCT in BPLCON3 then update all of your colour regs high nybbles... then set LOCT in BPLCON3 and set all of your low nybbles.
Code:
BPLCON3,0000 COL0,$000 COL1,$111 COL2,$222 COL3,$333 COL4,$444 BPLCON3,0200 COL0,$888 COL1,$888 COL2,$888 COL3,$888 COL4,$888 |
23 August 2019, 17:09 | #29 | |
Registered User
Join Date: Feb 2018
Location: Northumberland, UK
Posts: 272
|
Quote:
|
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Tool to convert asm to gnu asm (gas) | Asman | Coders. Asm / Hardware | 13 | 30 December 2020 11:57 |
ASM newbie, general help | fstarred | Coders. Asm / Hardware | 23 | 22 April 2018 11:17 |
newbie | barnetman | Member Introductions | 12 | 15 July 2009 16:01 |
Newbie help | Jurosem | New to Emulation or Amiga scene | 11 | 27 November 2008 14:26 |
A newbie to the Amiga and ASM, what approach to take? | P-J | Coders. General | 19 | 18 September 2007 14:36 |
|
|