Amiga.org
Amiga computer related discussion => Amiga Software Issues and Discussion => Topic started by: Lonewolf10 on September 23, 2007, 09:50:29 PM
-
Hi,
I am trying to create my own copperlist in AMOS but keep failing. I can make various rainbows by simply changing the value of colour 0 on each scanline, but when it comes to making a proper copperlist it always ends up in a black screen :(
Has anyone else here ever got there own copperlist working in *AMOS*? I need to be sure that it is possible and not that the commands don;t work.
Here is my copperlist (allegedly the AMOS default one according to "CopDis.AMOS" found in "Kyzer.lha" on Aminet):
$1003FFFE: WAIT x=3,y=16 (mask=$FFFE)
$01200004: MOVE #$4,spr0pth
$0122B648: MOVE #$B648,spr0ptl
$01240004: MOVE #$4,spr1pth
$0126B850: MOVE #$B850,spr1ptl
$01280004: MOVE #$4,spr2pth
$012ABA58: MOVE #$BA58,spr2ptl
$012C0004: MOVE #$4,spr3pth
$012EBC60: MOVE #$BC60,spr3ptl
$01300004: MOVE #$4,spr4pth
$0132BE68: MOVE #$BE68,spr4ptl
$01340004: MOVE #$4,spr5pth
$0136C070: MOVE #$C070,spr5ptl
$01380004: MOVE #$4,spr6pth
$013AC278: MOVE #$C278,spr6ptl
$013C0004: MOVE #$4,spr7pth
$013EC480: MOVE #$C480,spr7ptl
$2F03FFFE: WAIT x=3,y=47 (mask=$FFFE)
$00960100: MOVE #$100,dmacon
$01800000: MOVE #$0,color00
$01820A40: MOVE #$A40,color01
$01840FFF: MOVE #$FFF,color02
$01860001: MOVE #$1,color03
$01880F00: MOVE #$F00,color04
$018A00F0: MOVE #$F0,color05
$018C000F: MOVE #$F,color06
$018E0666: MOVE #$666,color07
$01900555: MOVE #$555,color08
$01920333: MOVE #$333,color09
$01940733: MOVE #$733,color10
$01960373: MOVE #$373,color11
$01980773: MOVE #$773,color12
$019A0337: MOVE #$337,color13
$019C0737: MOVE #$737,color14
$019E0377: MOVE #$377,color15
$00E00004: MOVE #$4,bpl1pth
$00E2E708: MOVE #$E708,bpl1ptl
$00E40006: MOVE #$6,bpl2pth
$00E639C8: MOVE #$39C8,bpl2ptl
$008E0181: MOVE #$181,diwstrt
$009037C1: MOVE #$37C1,diwstop
$0092003C: MOVE #$3C,ddfstrt
$009400D4: MOVE #$D4,ddfstop
$01080000: MOVE #$0,bpl1mod
$010A0000: MOVE #$0,bpl2mod
$0100A200: MOVE #$A200,bplcon0
$01020000: MOVE #$0,bplcon1
$01040024: MOVE #$24,bplcon2
$3003FFFE: WAIT x=3,y=48 (mask=$FFFE)
$00968300: MOVE #$8300,dmacon
$01A00000: MOVE #$0,color16
$01A20EC8: MOVE #$EC8,color17
$01A40C60: MOVE #$C60,color18
$01A60EA0: MOVE #$EA0,color19
$01A8027F: MOVE #$27F,color20
$01AA049D: MOVE #$49D,color21
$01AC05AE: MOVE #$5AE,color22
$01AE0ADF: MOVE #$ADF,color23
$01B00BDF: MOVE #$BDF,color24
$01B20CEF: MOVE #$CEF,color25
$01B40FFF: MOVE #$FFF,color26
$01B60408: MOVE #$408,color27
$01B80A0E: MOVE #$A0E,color28
$01BA0E0E: MOVE #$E0E,color29
$01BC0E08: MOVE #$E08,color30
$01BE0EEE: MOVE #$EEE,color31
$FFDFFFFE: WAIT x=223,y=255 (mask=$FFFE)
$3003FFFE: WAIT x=3,y=48 (mask=$FFFE)
$00960100: MOVE #$100,dmacon
$01800000: MOVE #$0,color00
$FFFFFFFE: CEND
I am aware that the format for Cop Move in AMOS is:
Cop Move ADDRESS,VALUE
I did have the values the wrong way round until earlier today, but that still didn't make any difference.
Any assistance/advice welcome.
Regards,
Lonewolf10
-
Andrew:
(hehe I know who you are!!!)
I cannot help you with this..as I have not used copper or rainbow on amos. but I have a suggestion: I think the amos pd cd might have an example of what you need..all you need to do is check into it and you might find it.
I can send you a photocopy of the list (hard copy)that shows each and everyone disk on the cd, and what they have on each disk.
Cheers!!!
rednova
-mobilis in mobile-
-
I know who you are!!!
-
$01800f00: MOVE #$0f00,color01
$3003FFFE: WAIT x=3,y=48 (mask=$FFFE)
$018000f0: MOVE #$00f0,color01
$3203FFFE: WAIT x=3,y=50 (mask=$FFFE)
$0180000f: MOVE #$000f,color01
$3403FFFE: WAIT x=3,y=52 (mask=$FFFE)
Try adding something like this.
0180 is the background colour, were the FFFE is the wait raster command.
this small example changes the background colour at raster 30,32 and 34.
0f00=red
00f0=green
000f=blue
(Oh, I assume the : after the commands is comment?)
:)
-
Sorry, I haven't returned to check this out sooner.
I now have working copperlists (thanks to acquiring 2 Amiga Hardware Reference Manuals off ebay (1985 & 1989 editions)) which support all colour modes and my own custom rainbows.
The only problem I have now is that sprites don't work and that it seems to stop doing screen DMA half across and 4/5's the way down the screen.
Any advice?
HellCoder wrote:
(Oh, I assume the : after the commands is comment?)
:)
Yeah the comments after the colon (":") are the english (non-geek) version :)
Regards,
Lonewolf10
PS. I know who you are too, Rednova!
-
@Lonewolf10
The only problem I have now is that sprites don't work
Sprite dma is enabled?
it seems to stop doing screen DMA half across and 4/5's the way down the screen.
That's at line 200. You need some special consideration there, you can't wait >200 line directly. Consult your hardware reference manual.