Jump to content

swapd0

Members
  • Content Count

    595
  • Joined

  • Last visited

  • Days Won

    1

swapd0 last won the day on December 8 2018

swapd0 had the most liked content!

Community Reputation

355 Excellent

About swapd0

  • Rank
    Dragonstomper

Profile Information

  • Gender
    Male

Recent Profile Visitors

11,226 profile views
  1. I'm assuming that gcc leaves d0/d1 and a0/a1 free, so I don't need to save them in my assembly routines, it's this true?
  2. Yes, everything it's done but I'm fixing bugs in BurgerTom.
  3. Remember that BurgerTom will come with two other games...
  4. We changed the name to BurgerTom to avoid any IP issues, by the way, right now I'm fixing some bugs.
  5. Ok, I've done all the changes except .text -> TEXT, .data -> DATA and .bss -> BSS. After a clean make both versions of the game are the same!!! Thanks a lot for all the work!
  6. Yes, I changed .text to TEXT and the same for .data and .bss (I hope that I didn't understand in the wrong way) Maybe you can remove the include "debugger.s" and the jsr _init_debugger to fix the bug. brownboot.s debugger.s
  7. By the way I get a compiler error with SHN_UNDEF but I've googled it and changed to 0.
  8. Done, downloaded and patched, I think that I get the same result. brownboot-new.o brownboot-old.o
  9. I've downloaded the latest version 2.0.20 (sorry but I think that I was using 2.0.16), and I've done the modifications. Almost the same size. swapd0$ rmac-old -fe -o brownboot-old.o brownboot.s swapd0$ rmac-new -fe -o brownboot-new.o brownboot.s swapd0$ ls -l brownboot* -rw------- 1 swapd0 wheel 18548 13 ago 16:59 brownboot-new.o -rw------- 1 swapd0 wheel 18552 13 ago 16:58 brownboot-old.o brownboot-new.o brownboot-old.o
  10. Ok, I will fix all the makefiles Edit:It was correct in the makefiles...
  11. I'm 100% that the extra "0000 0000" are from a .long directive to align a data. It' this part of the code. movei #_gpu_events_list,list_ptr movei #.execute_list,r1 jump (r1) load (list_ptr),events .long _gpu_events_list:: dc.l 0 ; pointer to events list "D020" it's the jump (r1) and the "A672" it's the load (list_ptr),events, then two bytes with zeros for the alignment but in the new version it appends 4 extra bytes.
  12. I have only a version of the source code, and I've made a make clean of each project. Anyway I've done this just to be sure. swapd0$ rmac-old -fe brownboot.s -o brownboot-old.o swapd0$ rmac-new -fe brownboot.s -o brownboot-new.o brownboot-new.o brownboot-old.o
  13. They are quite different. I think that it's better if I send you several object files. In the gpu.o is where _GPU_SPRITE_OFFSET_X, _GPU_SPRITE_OFFSET_Y, _GPU_MAX_VIDEO_X are defined gpu-new.o gpu-old.o main-new.o main-old.o video-new.o video-old.o brownboot-new.o brownboot-old.o
  14. Done, ".text" changed for "TEXT", and the same for data and bss Now the file size is sightly bigger (290,932 bytes) but still smaller than the one using old rmac. The labels are still clashing.
  15. I've only changed the rmac version, same compiler options. old rmac output size is 309,872 bytes new rmac output size is 290,760 bytes There are a lot of labels that are shifted. I don't understand this, old rmac 00f0323c A _GPU_MAX_VIDEO_X 00f03240 A _GPU_MAX_VIDEO_Y 00f03234 a _GPU_SPRITE_OFFSETS 00f03234 A _GPU_SPRITE_OFFSET_X 00f03238 A _GPU_SPRITE_OFFSET_Y New rmac 00f03228 A _GPU_MAX_VIDEO_X 00f03228 A _GPU_MAX_VIDEO_Y 00f03228 a _GPU_SPRITE_OFFSETS 00f03228 A _GPU_SPRITE_OFFSET_X 00f03228 A _GPU_SPRITE_OFFSET_Y On the new version the labels are in a lower memory address and they are from an assembly file, so they are using the same instructions (same size). Also, why _GPU_SPRITE_OFFSET_Y are at the same address as _GPU_SPRITE_OFFSET_X? They are defined like this. .long _gpu_sprite_dst:: dc.l 0,0 ; destination address _GPU_SPRITE_OFFSETS: _GPU_SPRITE_OFFSET_X:: dc.l 0 _GPU_SPRITE_OFFSET_Y:: dc.l 0 _GPU_MAX_VIDEO_X:: dc.l 0 _GPU_MAX_VIDEO_Y:: dc.l 0 Any tool for the binary-diff? I've my own but the output it's something like this. out-new.bin and out-old.bin has different sizes. differs at offset 0x22 5 4f differs at offset 0x23 38 e0 differs at offset 0x46 8 53 differs at offset 0x47 c4 64 differs at offset 0x4a a6 eb differs at offset 0x4b ac 4c differs at offset 0x201f b8 bc differs at offset 0x2061 0 1 differs at offset 0x2062 0 e5 differs at offset 0x2063 0 48 differs at offset 0x213d d0 d4 differs at offset 0x2142 49 4b differs at offset 0x2143 50 20 differs at offset 0x2148 49 4b differs at offset 0x2149 8a 5a differs at offset 0x214e 73 7d differs at offset 0x214f 4e 2 differs at offset 0x2158 90 9a differs at offset 0x2159 62 16 differs at offset 0x2471 0 1 differs at offset 0x2472 0 e5 differs at offset 0x2473 0 50 differs at offset 0x2477 0 1 differs at offset 0x2478 0 e5 differs at offset 0x2479 0 50 differs at offset 0x247e 49 4b out-new.map.txt out-new.txt out-old.map.txt out-old.txt
×
×
  • Create New...