amiga

Help with 68k assembly - jump tables?

巧了我就是萌 提交于 2019-12-21 07:27:12
问题 I'm working on reverse engineering a large Amiga program in IDA, and I've made a ton of progress. However, there is some stuff I can't quite figure out. Namely, I have found several subroutines which use what I believe to be "jump tables" - but I can't quite figure out how they work. Does anyone have any advice? moveq #0,d0 move.b d7,d0 ; set D0 to a byte from CTRL subq.w #1,d0 ; subtract 1 from it blt.w finish_29ABA ; if D0 is less than 1, branch cmpi.w #$16,d0 bge.w finish_29ABA ; if D0 is

VASM cross-assembler issue (m68k)

可紊 提交于 2019-12-11 06:39:31
问题 I'm wondering if anyone can help me with an annoying issue I face using VASM assembler to compile MC68000 binaries for Amiga. The problem lies in buggy (I think) implementation of labels' addresses manipulations. Here are the details: copper_scr: dc.w $e0, (screen>>16) & $ffff dc.w $e2, screen & $ffff ... screen: dcb.w screen_size ; screen_size value does not matter here What I'm trying to do in the code above is to split screen address into most significant word and less significant word in

Warning: assignment makes pointer from integer without a cast undefined

血红的双手。 提交于 2019-12-11 03:22:28
问题 I realise there are a lot of questions related to this issue but I couldn't make head nor tale from the ones I read through. I'm trying to start learning C for the Amiga and decided to have a try following this tutorial: http://www.pcguru.plus.com/tutorial/amiga_c.html On reaching this point, I'm already running into noob problems: #include <proto/intuition.h> #include <intuition/screens.h> #include <proto/dos.h> #include <stdio.h> int main(void) { struct Screen *myScreen; if (myScreen =

Help with 68k assembly - jump tables?

可紊 提交于 2019-12-04 00:31:56
I'm working on reverse engineering a large Amiga program in IDA, and I've made a ton of progress. However, there is some stuff I can't quite figure out. Namely, I have found several subroutines which use what I believe to be "jump tables" - but I can't quite figure out how they work. Does anyone have any advice? moveq #0,d0 move.b d7,d0 ; set D0 to a byte from CTRL subq.w #1,d0 ; subtract 1 from it blt.w finish_29ABA ; if D0 is less than 1, branch cmpi.w #$16,d0 bge.w finish_29ABA ; if D0 is greater than or equal to 16, branch add.w d0,d0 ; otherwise, double D0 move.w dword_29918(pc,d0.w),d0

How do I code and compile an Amiga application? [closed]

我的梦境 提交于 2019-12-03 01:37:57
问题 As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance. Closed 8 years ago . I would like to program an application for the Amiga, just for fun! Please could someone post a step by step howto based on the

How do I code and compile an Amiga application? [closed]

ⅰ亾dé卋堺 提交于 2019-12-02 16:53:12
I would like to program an application for the Amiga, just for fun! Please could someone post a step by step howto based on the following? Exactly what programming tools I should use, are there any already installed? Am I limited to plain text editors, or are there IDEs and debugging tools available? If no tools are already installed, how can this done? Are there free ones? I'd like to learn a traditional Amiga language, could you reccomend one? What should I use to compile the language you suggest? Please could you suggest tools I may use to debug the suggested language? Are there any