Ultimate Amiga

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 [2] 3   Go Down

Author Topic: Width of a Rainbow  (Read 20023 times)

0 Members and 2 Guests are viewing this topic.

Lonewolf10

  • AMOS Extensions Developer
  • AMOS Dev
  • A2000
  • *****
  • Karma: 3
  • Offline Offline
  • Gender: Male
  • Posts: 618
    • http://www.aliensrcooluk.com
Re: Width of a Rainbow
« Reply #15 on: February 14, 2010, 01:18:09 AM »


@ SamuraiCrow

Yeah, my brain had taken a walk when I made that reply!


@ Everyone

The copperlist for a dual playfield screen is exactly the same method for the single screen mode. Just make sure you know which colours (and bitplanes) are for each screen. Here's some info to help:

Dual Playfield - Low Res

Screen 1 (Colours 0 to 7): Bitplanes 1,3 and 5
Screen 2 (Colours 8 to 15): Bitplanes 2,4, and 6

NB: Colours 0 and 8 are used to represent transparency in this mode. Also, not all bitplanes have to be used (e.g. screen 1 can use 3 bitplanes and screen 2 can use only 1).


Dual Playfield - High Res

Screen 1 (Colours 0 to 3): Bitplanes 1 and 3
Screen 2 (Colours 8 to 11): Bitplanes 2 and 4

NB: Colours 0 and 8 are used to represent transparency in this mode. Also, not all bitplanes have to be used (e.g. screen 1 can use 2 bitplanes and screen 2 can use only 1).


Source of above info: Page 65 & 66 Amiga Hardware Reference Manual (1989).


I wasn't aware you could have a high res dual playfield mode. Does AMOS support it natively, or did I just forget about it?


Regards,
Lonewolf10

Logged

segafan

  • CD32, A500, A1200
  • A600
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 6
  • Generic Amiga User
Re: Width of a Rainbow
« Reply #16 on: March 09, 2016, 04:59:21 PM »

Hi folks.

Here is little demo showing 7 rainbows on the same scan line!
This means that each scan line can have its own unique palette of 8 colours.
If you do the math for a full screen (PAL) then it works out at 1792 possible colours!
Thats even on an OCS A500 too!

Below is a screen shot showing an 8 colour screen then afterwards showing the
copper list created screen.



I've attached a demo (.lha) so that you can try it out yourselfs :)

I am working on an updated version that allows 16 rainbows on the same scan line.
That is 16x256 (Pal) which will generate 4096 colours! NOT Ham Mode, just 4 bitplanes!


Kev G

Where i can find the above mentioned demo .lha file with source, please? I know this post is really old, but anyway just curious on sliced-ham like technique in Amos.
Logged

Lonewolf10

  • AMOS Extensions Developer
  • AMOS Dev
  • A2000
  • *****
  • Karma: 3
  • Offline Offline
  • Gender: Male
  • Posts: 618
    • http://www.aliensrcooluk.com
Re: Width of a Rainbow
« Reply #17 on: March 25, 2016, 07:34:03 PM »

Where i can find the above mentioned demo .lha file with source, please? I know this post is really old, but anyway just curious on sliced-ham like technique in Amos.

I'm not sure if I got around to downloading it :-[

Does anyone else have it? Maybe KevG still has it somewhere??
Logged

KevG

  • A600
  • *
  • Karma: 1
  • Offline Offline
  • Posts: 87
Re: Width of a Rainbow
« Reply #18 on: March 26, 2016, 03:56:32 PM »

Hi folks.

I still have some source code for this somewhere. I'll post it here when I find it.

Kev G

Logged

KevG

  • A600
  • *
  • Karma: 1
  • Offline Offline
  • Posts: 87
Re: Width of a Rainbow
« Reply #19 on: March 26, 2016, 04:21:47 PM »

'I found it. Well, a very early version of it. This code is not all my work. If I remember I got the 'original idea from an AMOS pro demo somewhere. I simply modified it to allow more rainbows 'side-by-side. Unfortunately, the code is not very clear either. Maybe someone can tidy it up a bit. 'Anyway, it works in AMOS 1.3 and should work in AMOS Pro too. I did code a better procedure but 'I can't find it yet. I will post it here if I find it. Anyway, enjoy this cool code which allows you to get 'many more colours on the screen....
'
'
Set Buffer 32
'
'
Screen Open 0,320,256,8,Lowres : Flash Off : Curs Off : Cls 0
'
Rem *** reserve some memory for the arrays
'
Dim C(7),CC(7,279)
Global C(),CC(),NRAIN
NRAIN=7
Rem *** define colours to be affected
'
C(0)=1 : C(1)=2 : C(2)=3 : C(3)=4 : C(4)=5 : C(5)=6 : C(6)=7
Rem *** read the data into the arrays
'
For N=0 To NRAIN-1
   Restore "Rn"+Mid$(Str$(N),2)
   For C=0 To 279
      Read CC(C(N),C)
   Next
Next

'
Ink 1 : Bar 0,0 To 40,256
Ink 2 : Bar 41,0 To 80,256
Ink 3 : Bar 81,0 To 120,256
Ink 4 : Bar 121,0 To 160,256
Ink 5 : Bar 161,0 To 200,256
Ink 6 : Bar 201,0 To 240,256
Ink 7 : Bar 241,0 To 280,256
'
'
Print "8 colour screen. (3 bit planes)"
Print "Press Mouse Button to get 7 rainbows"
Print "and 1792 unique colours!"
Repeat : Wait 5 : Until Mouse Key
'
Rem *** call the multi_rainbow procedure
'
Proc _MULTIPLE_RAINBOWS[30]
'
Repeat : Until Mouse Key
Copper On : Wait 100 : Fade 2 : Wait 30
End
'
Procedure _MULTIPLE_RAINBOWS[Y]
   
   ' Ensure the display is stable
   Wait Vbl : View : Wait Vbl : View : Wait Vbl
   
   ' Copy the actual copper list in a memory bank
   Reserve As Work 10,11*1024
   L=0
   Repeat
     
      C=Leek(Cop Logic+L)
      Loke Start(10)+L,C
      L=L+4
     
   Until C=$FFFFFFFE
   
   ' No more copper
   Copper Off : Wait Vbl
   
   ' Where to poke the new list
   ACOP=Cop Logic : ACH=Start(10)
   
   ' Copy the sprites definitions
   Cop Move 0,0
   Loke ACOP,Leek(ACH)
   Add ACOP,4 : Add ACH,4
   For N=0 To 15
      Cop Move 0,0
      Loke ACOP,Leek(ACH)
      Add ACOP,4 : Add ACH,4
   Next
   
   ' Copper-list creation loop 
   Y=30 : YRAIN=0
   Do
     
      ' Wait for the first line
      Cop Wait 7,Y : ACOP=ACOP+4
     
      ' Get the first position from AMOS list 
      CY=Deek(ACH)/256+YBASE
     
      If Y=CY
         
         ' We take the first instruction in AMOS original
         ' copper list. This instruction is a WAIT...
         ACH=ACH+4 : C1=Deek(ACH)
         
         If(C1 and 1)=0
           
            ' We are defining a new screen. Best solution is   
            ' to copy the original definition. We must only
            ' change the colours according to the new rainbows...
            Do
               
               C1=Deek(ACH) : C2=Deek(ACH+2)
               
               Exit If(C1 and 1)<>0
               
               ' Is the colour copied a colour included in one
               ' of the rainbow?
               For C=0 To NRAIN-1
                  If C1=C(C)*2+$180
                     C2=CC(C(C),YRAIN)
                  End If
               Next
               
               Add ACH,4
               Cop Move 0,0
               Doke ACOP,C1 : Doke ACOP+2,C2 : Add ACOP,4
               
            Loop
         End If
         
      Else
         
         ' It is not a screen, lets simply put the current 
         ' colours for all the rainbows
         For C=0 To NRAIN-1
            Cop Move $180+C(C)*2,CC(C(C),YRAIN) : Add ACOP,4
         Next
         
      End If
     
      ' Next line
      Inc Y : Inc YRAIN
     
      ' In PAL, lets skip the 255 wait
      If Y=256 : YBASE=256 : End If
     
      ' When do we exit?
      Exit If Y>311
      Exit If YRAIN>279
      Exit If ACOP-Cop Logic>10*1024
     
   Loop
   
   ' The end of the list!
   Cop Wait 255,255
   
   ' Everything is finished, lets display it 
   Cop Swap : Wait Vbl
End Proc
'
Rem *** the first rainbow definition
RN0:
Data $0,$0,$0,$0,$0,$0,$0,$0
Data $0,$0,$0,$0
Data $75,$75,$75,$75,$75,$75,$75,$75
Data $75,$75,$75,$75,$75,$75,$75,$75
Data $175,$175,$175,$175,$175,$175,$175,$175
Data $275,$275,$275,$275,$275,$275,$275,$275
Data $375,$375,$375,$375
Data $475,$475,$475,$475,$475,$475,$475,$475
Data $575,$575,$575,$575,$575,$575,$575,$575
Data $675,$675,$675,$675,$675,$675,$675,$675
Data $775,$775,$775,$775,$775,$775,$775,$775
Data $875,$875,$875,$875,$875,$875,$875,$875
Data $975,$975,$975,$975,$975,$975,$975,$975
Data $A75,$A75,$A75,$A75,$A75,$A75,$A75,$A75
Data $B75,$B75,$B75,$B75,$B75,$B75,$B75,$B75
Data $C75,$C75,$C75,$C75,$C75,$C75,$C75,$C75
Data $D75,$D75,$D75,$D75,$D75,$D75,$D75,$D75
Data $E75,$E75,$E75,$E75,$E75,$E75,$E75,$E75
Data $F75,$F75,$F75,$F75,$F75,$F75,$F75,$F75
Data $F85,$F85,$F85,$F85,$F85,$F85,$F85,$F85
Data $F95,$F95,$F95,$F95,$F95,$F95,$F95,$F95
Data $FA5,$FA5,$FA5,$FA5,$FA5,$FA5,$FA5,$FA5
Data $FB5,$FB5,$FB5,$FB5,$FB5,$FB5,$FB5,$FB5
Data $FC5,$FC5,$FC5,$FC5,$FC5,$FC5,$FC5,$FC5
Data $A00,$900,$800,$700,$600,$500,$400,$300
Data $200,$100,$600,$600,$600,$600,$600,$300
Data $400,$500,$600,$700,$800,$900,$A00,$A00
Data $900,$800,$700,$600,$500,$400,$300,$200
Data $100,$600,$600,$600,$600,$600,$300,$400
Data $500,$600,$700,$800,$900,$A00,$A00,$900
Data $800,$700,$600,$500,$400,$300,$200,$100
Data $600,$600,$600,$600,$600,$300,$400,$500
Data $600,$700,$800,$900,$A00,$A00,$900,$800
Data $700,$600,$500,$400,$300,$200,$100,$600
Data $600,$600,$600,$600,$300,$400,$500,$600
Data $700,$800,$900,$A00,$0,$0,$0,$0
Data $0,$0,$0,$0,$0,$0,$0,$0
'
'
Rem *** the second rainbow definition 
'
RN1:
Data $0,$0,$0,$0,$0,$0,$0,$0
Data $0,$0,$0,$0,$0,$479,$479,$479
Data $579,$579,$579,$579,$579,$579,$579,$579
Data $679,$679,$679,$679,$679,$679,$679,$679
Data $779,$779,$779,$779,$779,$779,$779,$779
Data $879,$879,$879,$879,$879,$879,$879,$879
Data $979,$979,$979,$979,$979,$979,$979,$979
Data $A79,$A79,$A79,$A79,$A79,$A79,$A79,$A79
Data $B79,$B79,$B79,$B79,$B79,$B79,$B79,$B79
Data $C79,$C79,$C79,$C79,$C79,$C79,$C79,$C79
Data $D79,$D79,$D79,$D79,$D79,$D79,$D79,$D79
Data $E79,$E79,$E79,$E79,$E79,$E79,$E79,$E79
Data $F79,$F79,$F79,$F79,$F79,$F79,$F79,$F79
Data $100,$100,$100,$100,$100,$100,$100,$100
Data $110,$110,$110,$110,$110,$110,$110,$110
Data $220,$220,$220,$220,$220,$220,$220,$220
Data $330,$330,$330,$330,$330,$330,$330,$330
Data $440,$440,$440,$440,$440,$440,$440,$440
Data $540,$540,$540,$540,$540,$540,$540,$540
Data $640,$640,$640,$640,$640,$640,$640,$640
Data $740,$740,$740,$740,$740,$740,$740,$740
Data $840,$840,$840,$840,$840,$840,$840,$840
Data $940,$940,$940,$940,$940,$940,$940,$940
Data $A40,$A40,$A40,$A40,$A40,$A40,$A40,$A40
Data $B40,$B40,$B40,$B40,$B40,$B40,$B40,$B40
Data $C40,$C40,$C40,$C40,$C40,$C40,$C40,$C40
Data $D40,$D40,$D40,$D40,$0,$0,$0,$0
Data $2A1,$2A1,$2A1,$2A1,$2A1,$2A1,$2A1,$2A1
Data $2A1,$2A1,$2A1,$2A1,$EE0,$CC0,$AA0,$880
Data $660,$E0E,$C0C,$A0A,$808,$606,$EE,$CC
Data $AA,$88,$66,$2A1,$2A1,$2A1,$EE0,$CC0
Data $AA0,$880,$660,$E0E,$C0C,$A0A,$808,$606
Data $EE,$CC,$AA,$88,$66,$2A1,$0,$0
Data $0,$0,$0,$0,$0,$0,$0,$0
Data $0,$0,$0,$0,$0,$0,$0,$0
Data $0,$0,$0,$0,$0,$0,$0,$0
'
Rem *** the 3rd rainbow definition   
'
RN2:
Data $0,$0,$0,$0,$0,$0,$0,$0
Data $0,$0,$0,$0,$0,$0,$0,$0
Data $88,$88,$88,$88,$88,$88,$88,$88
Data $98,$98,$98,$98,$98,$98,$98,$98
Data $A8,$A8,$A8,$A8,$A8,$A8,$A8,$A8
Data $B8,$B8,$B8,$B8,$B8,$B8,$B8,$B8
Data $C8,$C8,$C8,$C8,$C8,$C8,$C8,$C8
Data $D8,$D8,$D8,$D8,$D8,$D8,$D8,$D8
Data $D40,$C30,$B20,$F61,$E50,$D40,$C30,$B20
Data $F61,$E50,$D40,$C30,$B20,$A10,$F61,$E50
Data $D40,$C30,$B20,$A10,$F61,$E50,$D40,$C30
Data $B20,$A10,$900,$F61,$E50,$D40,$C30,$B20
Data $A10,$900,$F61,$E50,$D40,$C30,$B20,$A10
Data $900,$800,$F61,$E50,$D40,$C30,$B20,$A10
Data $900,$800,$F61,$E50,$D40,$C30,$B20,$A10
Data $EEE,$DDD,$EEE,$DDD,$EEE,$DDD,$CCC,$EEE
Data $DDD,$CCC,$EEE,$DDD,$CCC,$BBB,$EEE,$DDD
Data $CCC,$BBB,$EEE,$DDD,$CCC,$BBB,$AAA,$EEE
Data $DDD,$CCC,$BBB,$AAA,$EEE,$DDD,$CCC,$BBB
Data $AAA,$999,$EEE,$DDD,$CCC,$BBB,$AAA,$999
Data $EEE,$DDD,$CCC,$BBB,$AAA,$999,$888,$EEE
Data $DDD,$CCC,$BBB,$AAA,$999,$888,$EEE,$DDD
Data $CCC,$BBB,$AAA,$999,$888,$777,$EEE,$DDD
Data $CCC,$BBB,$AAA,$999,$888,$777,$EEE,$DDD
Data $CCC,$BBB,$AAA,$999,$888,$777,$666,$555
Data $444,$333,$222,$111,$0,$0,$0,$0
Data $0,$0,$0,$0,$0,$0,$0,$0
Data $0,$0,$0,$0,$0,$0,$0,$0
Data $0,$0,$0,$0,$0,$0,$0,$0
Data $0,$0,$0,$0,$0,$0,$0,$0
Data $0,$0,$0,$0,$0,$0,$0,$0
Data $0,$0,$0,$0,$0,$0,$0,$0
Data $0,$0,$0,$0,$0,$0,$0,$0
Data $0,$0,$F00,$0,$0,$0,$0,$0
Data $0,$0,$0,$0,$0,$0,$0,$0
Data $0,$0,$0,$0,$0,$0,$0,$0
'
'
' the 4th
'
RN3:
Data $0,$0,$0,$0,$0,$0,$0,$0
Data $0,$0,$0,$0,$0,$0,$0,$0
Data $888,$888,$888,$888,$888,$888,$888,$888
Data $898,$898,$898,$898,$898,$898,$898,$898
Data $8A8,$8A8,$8A8,$8A8,$8A8,$8A8,$8A8,$8A8
Data $8B8,$8B8,$8B8,$8B8,$8B8,$8B8,$8B8,$8B8
Data $8C8,$8C8,$8C8,$8C8,$8C8,$8C8,$8C8,$8C8
Data $8D8,$8D8,$8D8,$8D8,$8D8,$8D8,$8D8,$8D8
Data $D4,$C3,$B2,$F6,$E5,$D4,$C3,$B2
Data $F6,$E5,$D4,$C3,$B2,$A1,$F6,$E5
Data $D4,$C3,$B2,$A1,$F6,$E5,$D4,$C3
Data $B2,$A1,$90,$F6,$E5,$D4,$C3,$B2
Data $A1,$90,$F6,$E5,$D4,$C3,$B2,$A1
Data $90,$80,$F6,$E5,$D4,$C3,$B2,$A1
Data $90,$80,$F6,$E5,$D4,$C3,$B2,$A1
Data $EE,$DD,$EE,$DD,$EE,$DD,$CC,$EE
Data $DD,$CC,$EE,$DD,$CC,$BB,$EE,$DD
Data $CC,$BB,$EE,$DD,$CC,$BB,$AA,$EE
Data $DD,$CC,$BB,$AA,$EE,$DD,$CC,$BB
Data $AA,$99,$EE,$DD,$CC,$BB,$AA,$99
Data $EE,$DD,$CC,$BB,$AA,$99,$88,$EE
Data $DD,$CC,$BB,$AA,$99,$88,$EE,$DD
Data $CC,$BB,$AA,$99,$88,$77,$EE,$DD
Data $CC,$BB,$AA,$99,$88,$77,$EE,$DD
Data $CC,$BB,$AA,$99,$88,$77,$66,$55
Data $44,$33,$22,$11,$0,$0,$0,$0
Data $0,$0,$0,$0,$0,$0,$0,$0
Data $0,$0,$0,$0,$0,$0,$0,$0
Data $0,$0,$0,$0,$0,$0,$0,$0
Data $0,$0,$0,$0,$0,$0,$0,$0
Data $0,$0,$0,$0,$0,$0,$0,$0
Data $0,$0,$0,$0,$0,$0,$0,$0
Data $0,$0,$0,$0,$0,$0,$0,$0
Data $0,$0,$F00,$0,$0,$0,$0,$0
Data $0,$0,$0,$0,$0,$0,$0,$0
Data $0,$0,$0,$0,$0,$0,$0,$0
'
' the 5th
RN4:
Data $0,$0,$0,$0,$0,$0,$0,$0
Data $0,$0,$0,$0
Data $111,$111,$111,$111,$111,$111,$111,$111
Data $222,$222,$222,$222,$222,$222,$222,$222
Data $333,$333,$333,$333,$333,$333,$333,$333
Data $444,$444,$444,$444,$444,$444,$444,$444
Data $555,$555,$555,$555
Data $666,$666,$666,$666,$666,$666,$666,$666
Data $777,$777,$777,$777,$777,$777,$777,$777
Data $888,$888,$888,$888,$888,$888,$888,$888
Data $999,$999,$999,$999,$999,$999,$999,$999
Data $AAA,$AAA,$AAA,$AAA,$AAA,$AAA,$AAA,$AAA
Data $BBB,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB,$BBB
Data $CCC,$CCC,$CCC,$CCC,$CCC,$CCC,$CCC,$CCC
Data $DDD,$DDD,$DDD,$DDD,$DDD,$DDD,$DDD,$DDD
Data $EEE,$EEE,$EEE,$EEE,$EEE,$EEE,$EEE,$EEE
Data $FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF
Data $FF0,$FF0,$FF0,$FF0,$FF0,$FF0,$FF0,$FF0
Data $FF1,$FF1,$FF1,$FF1,$FF1,$FF1,$FF1,$FF1
Data $FF2,$FF2,$FF2,$FF2,$FF2,$FF2,$FF2,$FF2
Data $FF3,$FF3,$FF3,$FF3,$FF3,$FF3,$FF3,$FF3
Data $FF4,$FF4,$FF4,$FF4,$FF4,$FF4,$FF4,$FF4
Data $FF5,$FF5,$FF5,$FF5,$FF5,$FF5,$FF5,$FF5
Data $FF6,$FF6,$FF6,$FF6,$FF6,$FF6,$FF6,$FF6
Data $A01,$901,$801,$701,$601,$501,$401,$301
Data $202,$102,$602,$602,$602,$602,$602,$302
Data $403,$503,$603,$703,$803,$903,$A03,$A03
Data $904,$804,$704,$604,$504,$404,$304,$204
Data $105,$605,$605,$605,$605,$605,$305,$405
Data $506,$606,$706,$806,$906,$A06,$A06,$906
Data $807,$707,$607,$507,$407,$307,$207,$107
Data $608,$608,$608,$608,$608,$308,$408,$508
Data $609,$709,$809,$909,$A09,$A09,$909,$809
Data $70A,$60A,$50A,$40A,$30A,$20A,$10A,$60A
Data $60B,$60B,$60B,$60B,$30B,$40B,$50B,$60B
Data $70C,$80C,$90C,$A0C,$0,$0,$0,$0
Data $0,$0,$0,$0,$0,$0,$0,$0
'
'
' the 6th
'
RN5:
Data $0,$0,$0,$0,$0,$0,$0,$0
Data $0,$0,$0,$0
Data $101,$101,$101,$101,$101,$101,$101,$101
Data $202,$202,$202,$202,$202,$202,$202,$202
Data $303,$303,$303,$303,$303,$303,$303,$303
Data $404,$404,$404,$404,$404,$404,$404,$404
Data $505,$505,$505,$505
Data $606,$606,$606,$606,$606,$606,$606,$606
Data $707,$707,$707,$707,$707,$707,$707,$707
Data $808,$808,$808,$808,$808,$808,$808,$808
Data $909,$909,$909,$909,$909,$909,$909,$909
Data $A0A,$A0A,$A0A,$A0A,$A0A,$A0A,$A0A,$A0A
Data $B0B,$B0B,$B0B,$B0B,$B0B,$B0B,$B0B,$B0B
Data $C0C,$C0C,$C0C,$C0C,$C0C,$C0C,$C0C,$C0C
Data $D0D,$D0D,$D0D,$D0D,$D0D,$D0D,$D0D,$D0D
Data $E0E,$E0E,$E0E,$E0E,$E0E,$E0E,$E0E,$E0E
Data $F0F,$F0F,$F0F,$F0F,$F0F,$F0F,$F0F,$F0F
Data $E0F,$E0F,$E0F,$E0F,$E0F,$E0F,$E0F,$E0F
Data $D0F,$D0F,$D0F,$D0F,$D0F,$D0F,$D0F,$D0F
Data $C0F,$C0F,$C0F,$C0F,$C0F,$C0F,$C0F,$C0F
Data $B0F,$B0F,$B0F,$B0F,$B0F,$B0F,$B0F,$B0F
Data $A0F,$A0F,$A0F,$A0F,$A0F,$A0F,$A0F,$A0F
Data $90F,$90F,$90F,$90F,$90F,$90F,$90F,$90F
Data $80F,$80F,$80F,$80F,$80F,$80F,$80F,$80F
Data $81E,$81E,$81E,$81E,$81E,$81E,$81E,$81E
Data $71D,$71D,$71D,$71D,$71D,$71D,$71D,$71D
Data $61C,$61C,$61C,$61C,$61C,$61C,$61C,$61C
Data $51B,$51B,$51B,$51B,$51B,$51B,$51B,$51B
Data $41A,$41A,$41A,$41A,$41A,$41A,$41A,$41A
Data $42A,$42A,$42A,$42A,$42A,$42A,$42A,$42A
Data $43A,$43A,$43A,$43A,$43A,$43A,$43A,$43A
Data $44A,$44A,$44A,$44A,$44A,$44A,$44A,$44A
Data $45A,$45A,$45A,$45A,$45A,$45A,$45A,$45A
Data $469,$469,$469,$469,$469,$469,$469,$469
Data $478,$478,$478,$478,$478,$478,$478,$478
Data $477,$477,$477,$477,$0,$0,$0,$0
Data $0,$0,$0,$0,$0,$0,$0,$0
'
' the 7th
'
RN6:
Data $0,$0,$0,$0,$0,$0,$0,$0
Data $0,$0,$0,$0
Data $11,$11,$11,$11,$11,$11,$11,$11
Data $22,$22,$22,$22,$22,$22,$22,$22
Data $33,$33,$33,$33,$33,$33,$33,$33
Data $44,$44,$44,$44,$44,$44,$44,$44
Data $55,$55,$55,$55
Data $66,$66,$66,$66,$66,$66,$66,$66
Data $77,$77,$77,$77,$77,$77,$77,$77
Data $88,$88,$88,$88,$88,$88,$88,$88
Data $99,$99,$99,$99,$99,$99,$99,$99
Data $AA,$AA,$AA,$AA,$AA,$AA,$AA,$AA
Data $BB,$BB,$BB,$BB,$BB,$BB,$BB,$BB
Data $CC,$CC,$CC,$CC,$CC,$CC,$CC,$CC
Data $DD,$DD,$DD,$DD,$DD,$DD,$DD,$DD
Data $EE,$EE,$EE,$EE,$EE,$EE,$EE,$EE
Data $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
Data $EF,$EF,$EF,$EF,$EF,$EF,$EF,$EF
Data $DF,$DF,$DF,$DF,$DF,$DF,$DF,$DF
Data $CF,$CF,$CF,$CF,$CF,$CF,$CF,$CF
Data $BF,$BF,$BF,$BF,$BF,$BF,$BF,$BF
Data $AF,$AF,$AF,$AF,$AF,$AF,$AF,$AF
Data $9F,$9F,$9F,$9F,$9F,$9F,$9F,$9F
Data $8F,$8F,$8F,$8F,$8F,$8F,$8F,$8F
Data $8E,$8E,$8E,$8E,$8E,$8E,$8E,$8E
Data $7D,$7D,$7D,$7D,$7D,$7D,$7D,$7D
Data $6C,$6C,$6C,$6C,$6C,$6C,$6C,$6C
Data $5B,$5B,$5B,$5B,$5B,$5B,$5B,$5B
Data $4A,$4A,$4A,$4A,$4A,$4A,$4A,$4A
Data $4A,$4A,$4A,$4A,$4A,$4A,$4A,$4A
Data $4A,$4A,$4A,$4A,$4A,$4A,$4A,$4A
Data $4A,$4A,$4A,$4A,$4A,$4A,$4A,$4A
Data $4A,$4A,$4A,$4A,$4A,$4A,$4A,$4A
Data $69,$69,$69,$69,$69,$69,$69,$69
Data $78,$78,$78,$78,$78,$78,$78,$78
Data $77,$77,$77,$77,$0,$0,$0,$0
Data $0,$0,$0,$0,$0,$0,$0,$0
'



Logged

KevG

  • A600
  • *
  • Karma: 1
  • Offline Offline
  • Posts: 87
Re: Width of a Rainbow
« Reply #20 on: March 31, 2016, 07:25:07 PM »

Well, having posted this code 5 days ago due to many requests from fellow AMOS users, I have yet to get a reply.

Did anyone try it out?
Logged

BooBoo

  • Amiga Guru
  • A600
  • ****
  • Karma: 3
  • Offline Offline
  • Posts: 168
Re: Width of a Rainbow
« Reply #21 on: March 31, 2016, 08:13:05 PM »

Whats the smallest width?
Logged

Lonewolf10

  • AMOS Extensions Developer
  • AMOS Dev
  • A2000
  • *****
  • Karma: 3
  • Offline Offline
  • Gender: Male
  • Posts: 618
    • http://www.aliensrcooluk.com
Re: Width of a Rainbow
« Reply #22 on: March 31, 2016, 08:50:03 PM »

Did anyone try it out?

Sorry, not yet. Have been working on a few other things. I will try it out tomorrow ;)


Whats the smallest width?

Based on my experience in ASM, I believe it is 2 pixels in lowres or 4 pixels in highres (if I remember correctly). Whether it translates to AMOS the same way I don't know.
I will try to check this tomorrow too.
Logged

SamuraiCrow

  • compile-time wierdo
  • Forum Mod
  • A1200
  • *****
  • Karma: 5
  • Offline Offline
  • Gender: Male
  • Posts: 946
  • Compile-time wierdo
Re: Width of a Rainbow
« Reply #23 on: April 01, 2016, 01:41:13 AM »

On ECS it's 8 pixels in low-res.
Logged

Xertese

  • A600
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 47
  • Generic Amiga User
Re: Width of a Rainbow
« Reply #24 on: April 01, 2016, 12:39:08 PM »

There are better ways to do this AMOS is very slow at reading DATA statements
Logged

Lonewolf10

  • AMOS Extensions Developer
  • AMOS Dev
  • A2000
  • *****
  • Karma: 3
  • Offline Offline
  • Gender: Male
  • Posts: 618
    • http://www.aliensrcooluk.com
Re: Width of a Rainbow
« Reply #25 on: April 01, 2016, 02:14:20 PM »

On ECS it's 8 pixels in low-res.

My tests in an old version of WinUAE (2.0.1) suggest for the most part that you are correct. However, in the borders it appears to be 4 pixels, so I believe that the normal 8 pixel limit applies due to lack of available DMA cycles?
See my attached program from 2007. Check option 1 - ignore the corrupt graphics that fly by... it was one of the first copperlists I wrote in AMOS. The other options (2+) are much better :)


Did anyone try it out?

I tried it out today. The code works and produces the screens as shown in the previous images :)
« Last Edit: April 01, 2016, 02:17:34 PM by Lonewolf10 »
Logged

SamuraiCrow

  • compile-time wierdo
  • Forum Mod
  • A1200
  • *****
  • Karma: 5
  • Offline Offline
  • Gender: Male
  • Posts: 946
  • Compile-time wierdo
Re: Width of a Rainbow
« Reply #26 on: April 01, 2016, 06:32:34 PM »

On AGA you can deactivate the display DMA and activate the fast Copper bit to allow 2 pixels per color change.  It gives you 180x256x12bit high color.
Logged

BooBoo

  • Amiga Guru
  • A600
  • ****
  • Karma: 3
  • Offline Offline
  • Posts: 168
Re: Width of a Rainbow
« Reply #27 on: April 01, 2016, 09:20:08 PM »

So you could have a vertical raidbow
Logged

SamuraiCrow

  • compile-time wierdo
  • Forum Mod
  • A1200
  • *****
  • Karma: 5
  • Offline Offline
  • Gender: Male
  • Posts: 946
  • Compile-time wierdo
Re: Width of a Rainbow
« Reply #28 on: April 02, 2016, 05:41:20 AM »

Not only that, you can have a screen filled with 4096 color Copper plasma as a low resolution screenmode.
Logged

BooBoo

  • Amiga Guru
  • A600
  • ****
  • Karma: 3
  • Offline Offline
  • Posts: 168
Re: Width of a Rainbow
« Reply #29 on: April 03, 2016, 10:06:20 AM »

why cant you have every pixel?
Logged
Pages: 1 [2] 3   Go Up
 

TinyPortal 2.2.2 © 2005-2022