swapd0 Posted February 7, 2022 Share Posted February 7, 2022 (edited) Ok, recompiled, tested, packed, tested the packed version and it works... Download the uploaded version and yellow screen... WTF!?!? Edited February 7, 2022 by swapd0 Quote Link to comment Share on other sites More sharing options...
swapd0 Posted February 7, 2022 Share Posted February 7, 2022 With this link it works. https://mega.nz/folder/FUcEWRTK#BqLluo_3JArKAarrxlLSVQ Quote Link to comment Share on other sites More sharing options...
swapd0 Posted February 7, 2022 Share Posted February 7, 2022 With VJ 2.1.3(Final) doesn't work. It hangs after the intro. Quote Link to comment Share on other sites More sharing options...
+CyranoJ Posted February 7, 2022 Share Posted February 7, 2022 7 minutes ago, swapd0 said: With this link it works. https://mega.nz/folder/FUcEWRTK#BqLluo_3JArKAarrxlLSVQ Its a green screen this time. Quote Link to comment Share on other sites More sharing options...
swapd0 Posted February 7, 2022 Share Posted February 7, 2022 Just now, CyranoJ said: Its a green screen this time. Just like in the VJ. What on the hell is happening? Quote Link to comment Share on other sites More sharing options...
+CyranoJ Posted February 7, 2022 Share Posted February 7, 2022 1 minute ago, swapd0 said: Just like in the VJ. What on the hell is happening? Dunno, but red screen is simple In all seriousness, its probably something really simple. Hope its a quick fix. Quote Link to comment Share on other sites More sharing options...
swapd0 Posted February 7, 2022 Share Posted February 7, 2022 7 minutes ago, CyranoJ said: Its a green screen this time. Skunkboard or JagGD? Quote Link to comment Share on other sites More sharing options...
Zerosquare Posted February 7, 2022 Share Posted February 7, 2022 Tested here (Jagtopus board). With the BJL ROM, the title screen is corrupted and it hangs on a black screen when you press a button: With the normal ROM, it works fine: : You probably forgot to initialize some RAM or registers. 4 Quote Link to comment Share on other sites More sharing options...
swapd0 Posted February 7, 2022 Share Posted February 7, 2022 10 minutes ago, Zerosquare said: You probably forgot to initialize some RAM or registers. Probably... maybe I need to fill the RAM with a random value and see what happens in my skunk board. Quote Link to comment Share on other sites More sharing options...
+CyranoJ Posted February 7, 2022 Share Posted February 7, 2022 2 minutes ago, swapd0 said: Probably... maybe I need to fill the RAM with a random value and see what happens in my skunk board. If its headerless... have you cleared the BSS? 1 Quote Link to comment Share on other sites More sharing options...
swapd0 Posted February 7, 2022 Share Posted February 7, 2022 (edited) 34 minutes ago, CyranoJ said: If its headerless... have you cleared the BSS? No... Edited: I've added a clear bss routine at the start, and now it works on the emulator. I've uploaded the mega file. Wrong timing... Edited February 7, 2022 by swapd0 1 Quote Link to comment Share on other sites More sharing options...
42bs Posted February 7, 2022 Share Posted February 7, 2022 Maybe you should remove the SKUNK debug code: $5d40: Writing 0x37ea to 0xc00000 This is a SKUNK command register IIRC. Quote Link to comment Share on other sites More sharing options...
42bs Posted February 7, 2022 Share Posted February 7, 2022 Wow, the C compiler produces horrible code: | | 005DF2: 5380 SUB.L #$1, D0 | | 005DF4: 4A80 TST.L D0 | | -> 005DF6: 66E8 BNE.B $5DE0 (true) This hurts a Assembly-guy's eyes. :.( 2 Quote Link to comment Share on other sites More sharing options...
swapd0 Posted February 7, 2022 Share Posted February 7, 2022 (edited) 17 minutes ago, 42bs said: Maybe you should remove the SKUNK debug code: $5d40: Writing 0x37ea to 0xc00000 This is a SKUNK command register IIRC. Yes, it's in my TODO list, I want to have two build versions, one with skunk debug code, the other one "naked" Edited February 7, 2022 by swapd0 Quote Link to comment Share on other sites More sharing options...
agradeneu Posted February 7, 2022 Share Posted February 7, 2022 14 hours ago, XProger said: It's truly shocking how wellinformed they are! 2 Quote Link to comment Share on other sites More sharing options...
Chilly Willy Posted February 7, 2022 Share Posted February 7, 2022 Latest works here. Very nice for a slide show. ? I can actually run around as long as I'm patient. Seems stable, and the rendering looks good. 2 Quote Link to comment Share on other sites More sharing options...
+selgus Posted February 7, 2022 Share Posted February 7, 2022 3 hours ago, 42bs said: Wow, the C compiler produces horrible code: | | 005DF2: 5380 SUB.L #$1, D0 | | 005DF4: 4A80 TST.L D0 | | -> 005DF6: 66E8 BNE.B $5DE0 (true) This hurts a Assembly-guy's eyes. :.( That looks like debug-level code.. are you sure the optimizer was enabled when this code was compiled? Quote Link to comment Share on other sites More sharing options...
swapd0 Posted February 7, 2022 Share Posted February 7, 2022 (edited) 6 minutes ago, selgus said: That looks like debug-level code.. are you sure the optimizer was enabled when this code was compiled? I'm using -Ofast flag. I've seen that it's the getBuffer function from the skunk board code... so don't worry. Edited February 7, 2022 by swapd0 Quote Link to comment Share on other sites More sharing options...
42bs Posted February 7, 2022 Share Posted February 7, 2022 2 minutes ago, swapd0 said: I'm using -Ofast flag. Is it a new GCC or the old 4.x.y one ? Quote Link to comment Share on other sites More sharing options...
swapd0 Posted February 7, 2022 Share Posted February 7, 2022 It's some "ataribrownart-prefix" version, IIRC 8.2 or something like that. Quote Link to comment Share on other sites More sharing options...
42bs Posted February 7, 2022 Share Posted February 7, 2022 2 minutes ago, swapd0 said: It's some "ataribrownart-prefix" version, IIRC 8.2 or something like that. Really? And such a horrible code generation? Even without optimization, the compiler should know that "sub.l #1,dn" will set the Z flag. I checked an old GCC (Sourcery G++ Lite 4.4-52) and it does know about. Quote Link to comment Share on other sites More sharing options...
42bs Posted February 7, 2022 Share Posted February 7, 2022 A quick check extern int func(int); int a() { int s = 0; for(int i = 100; i > 0; --i){ s += func(i); } return s; } => #NO_APP .file "x.c" .text .align 2 .globl a .type a, @function a: movem.l #12320,-(%sp) moveq #100,%d2 clr.w %d3 lea func,%a2 .L2: move.w %d2,-(%sp) jsr (%a2) add.w %d0,%d3 subq.w #1,%d2 addq.l #2,%sp jne .L2 move.w %d3,%d0 movem.l (%sp)+,#1036 rts .size a, .-a .ident "GCC: (Sourcery G++ Lite 4.4-52) 4.4.1" With:-std=c99 -mc68000 -mshort -O -fomit-frame-pointer Quote Link to comment Share on other sites More sharing options...
swapd0 Posted February 7, 2022 Share Posted February 7, 2022 9 minutes ago, 42bs said: Really? And such a horrible code generation? Even without optimization, the compiler should know that "sub.l #1,dn" will set the Z flag. I checked an old GCC (Sourcery G++ Lite 4.4-52) and it does know about. That code is from the skunk code library and it's in asm, anyway I've removed the tst.l opcode. Quote Link to comment Share on other sites More sharing options...
42bs Posted February 7, 2022 Share Posted February 7, 2022 13 minutes ago, swapd0 said: That code is from the skunk code library and it's in asm, anyway I've removed the tst.l opcode. Oh.Ok. So I need to send a big "sorry" to the gods of GCC. Quote Link to comment Share on other sites More sharing options...
alucardX Posted February 7, 2022 Share Posted February 7, 2022 I was able to run the latest uploaded build from my new GameDrive. It is the best slideshow I have ever played on the Jag. I am seriously impressed that you got it running on the 68K and that it actually responds to control input at all, nice work! 3 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.