Hello folks,
Because of this retro challenge, I'm looking through the source of the one I fancy doing and trying to work out what the heck they're doing (only in general terms so that I can replicate/mimic it).
The source looks like a dump from a disassembler and as this is the first time I've seen Amiga asm, there are some things that don't make full sense to me.
For example:
ptScreens ; 10 lines - 11 glenz-vector/lines
dc.l BpVector
dc.l BpVector+44*32*4*1
dc.l BpVector+44*32*4*2
dc.l BpVector+44*32*4*3
dc.l BpVector+44*32*4*4
dc.l BpVector+44*32*4*5
dc.l BpVector+44*32*4*6
dc.l BpVector+44*32*4*7
dc.l BpVector+44*32*4*8
dc.l BpVector+44*32*4*9
The ptScreens reference is used to load an address register as follows (at least I think that's what it's doing)
lea ptScreens(pc),a0
The BpVector reference is only ever used elsewhere to load a data register as follows
move.l #BpVector,d0
So am I safe in assuming that the dc.l mnemonic is reserving a long word of data (32 bits) and calling it BpVector? And that ptScreens is simply a label to mark the start of the data?
Also with data, there is the following:
dc.w $106,$c00,$1fc,0,$10c,$11
dc.w $1907,$fffe
dc.w $108,0,$10a,0
Am I right in thinking that the values are all words (16 bits) and although they are shown as a mix of decimal and hex values, they are just values and could be presented in either form?