Jump to content
IGNORED

RGB - a game for the ABBUC Software Contest 2014


pseudografx

Recommended Posts

Had a lockup issue yesterday - stage 7 early on, just jumped a second time and everything halted. Quick check in debug showed it hit BRK at PC=0000 (I have stop on BRK disabled).

That was only one issue of 2 during probably 10 hours overally gameplay - other issue is savestates don't resume properly in Altirra 2.40.

 

A suggestion or 2 for improvement - sort of annoying having only Level 0 available initially. A level code system to unlock would be good (I know the Ctrl-L thing works just as well, albeit a bit slower).

 

An official level code would be nice. Level skip feels like cheating :-)

  • Like 1
Link to comment
Share on other sites

High Score challenge - not sure if I've bettered it but just finished a game (died Level 5) with 246,100. I've found that level to be probably the hardest of them all.

 

Had the lockup issue again yesterday - seems to get stuck in a BRK situation @ $0000, some flickering player data, probably the DLIs were still running.

Link to comment
Share on other sites

If you want make bigger score you should play on HARD mode then you will have much more even on the first easy levels only. For me the hardest level is probably level 6 as I didn't play it too much yet. Specially the second half of it. Level 5 is not that hard IMHO maybe try some different route :)

 

And it's really strange with your lockups... I had never problem with Marbled and RGB and you have lockups etc. :) Was it after savestate load or clean XEX run? If you play it in Altirra, try to set Stop on BRK instruction (System - CPU options) and then we can see the history, from where it comes to BRK.

 

Does anyone else observed similar problem?

Link to comment
Share on other sites

I'm thinking about the lockups.. it's strange to me that it stops at $0000 (BRK). Yes, I have OS switched out, so the IRQ vector at $fffe probably points to $0000 in emulator, but I have IRQ disabled by SEI instruction, so it should not happen and BRK instruction should be disabled too I think?

Link to comment
Share on other sites

Just got another one, had BRK trapped so got some info (didn't have CPU instruction tracking turned on)

DLIs still being run, the program just stuck executing BRKs at 00 and 02.

 

 

CPU: Illegal instruction hit: 0001
(214384: 83,  6) A=50 X=00 Y=0C S=F4 P=37 (   IZC)  0000: 00 00             BRK #$00
 
Memory dumps:
0000: 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |................|
0010: 00 00 00 00 50 00 00 00-00 00 00 00 00 00 00 00 |....P...........|
0020: 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |................|
0030: 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |................|
0040: 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |................|
0050: 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |................|
0060: 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |................|
0070: 92 82 00 1C 08 00 FF 1B-00 1B 00 00 00 00 00 00 |................|
0080: 10 9E 6E 9E C7 9E 6B B5-20 9F 80 B9 EB A1 88 10 |..n...k. .......|
0090: 04 08 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |................|
00A0: 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |................|
00B0: 04 06 06 02 01 51 18 00-00 01 00 00 00 07 03 00 |.....Q..........|
00C0: 00 00 00 07 03 02 00 00-00 00 0E 36 09 00 00 03 |...........6....|
00D0: 00 A0 00 1B 9E A0 80 17-14 00 00 00 86 07 08 01 |................|
00E0: 17 00 13 2D 1E 07 01 19-13 02 90 00 00 5E 00 00 |...-.........^..|
00F0: 30 07 00 17 A7 79 0C 00-9A 4A E8 01 0C FF 0F 08 |0....y...J......|
 
0200: 5C 94 CD C0 CD C0 CD C0-19 FC 2C EB AD EA EC EA |\.........,.....|
0210: CD C0 CD C0 CD C0 30 C0-00 00 00 00 00 00 00 00 |......0.........|
0220: 00 00 E2 C0 8A C2 00 00-00 00 00 00 00 00 00 3F |...............?|
0230: 00 47 03 00 00 00 92 C0-6E C9 00 00 00 00 00 00 |.G......n.......|
0240: 00 00 00 00 00 00 A0 00-00 00 00 00 00 00 00 00 |................|
0250: 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |................|
0260: 00 00 00 00 00 00 00 00-00 00 00 CC 00 00 00 21 |...............!|
0270: E4 E4 E4 E4 E4 E4 E4 E4-07 0F 0F 0F 01 01 01 01 |................|
0280: 01 01 01 01 01 01 01 01-00 00 00 00 00 00 00 00 |................|
0290: 00 02 00 00 60 BF 00 00-00 00 00 00 00 00 01 00 |....`...........|
02A0: FF 00 00 01 01 01 01 01-01 01 01 01 01 01 01 01 |................|
02B0: 01 01 FF FF FF FF 00 00-00 00 00 00 00 00 40 18 |..............@.|
02C0: 04 28 88 B8 06 0E 68 EA-00 00 00 00 00 00 00 00 |.(....h.........|
02D0: 00 00 00 00 00 80 00 00-00 28 05 00 00 00 00 00 |.........(......|
02E0: 05 BF C0 E4 C0 1F BC 00-07 00 00 00 00 00 CC 05 |................|
02F0: 00 00 00 02 F4 00 00 00-00 00 80 00 FF 00 00 00 |................|
0300: 81 84 14 15 15 16 01 04-81 84 14 15 15 16 81 84 |................|
0310: 01 04 14 15 15 16 01 04-81 84 14 15 15 16 81 84 |................|
0320: 01 04 14 15 15 16 01 04-81 84 14 15 15 16 81 84 |................|
0330: 01 04 14 15 15 16 01 04-81 84 14 15 15 16 81 84 |................|
0340: 01 04 14 15 15 16 01 04-81 84 14 15 15 16 81 84 |................|
0350: 01 04 14 15 15 16 01 04-81 84 14 15 15 16 81 84 |................|
0360: 01 04 14 15 15 16 01 04-81 84 14 15 15 16 81 84 |................|
0370: 01 04 14 15 15 16 01 04-81 84 14 15 15 16 81 84 |................|
0380: 01 04 14 15 15 16 01 04-81 84 14 15 15 16 81 84 |................|
0390: 01 04 14 15 15 16 01 04-81 84 14 15 15 16 81 84 |................|
03A0: 01 04 14 15 15 16 01 04-81 84 14 15 15 16 81 84 |................|
03B0: 01 04 14 15 15 16 01 04-81 84 14 15 15 16 81 84 |................|
03C0: 01 04 14 15 15 16 01 04-00 00 00 00 00 00 00 00 |................|
03D0: 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |................|
03E0: 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |................|
03F0: 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |................|
 
Link to comment
Share on other sites

I've turned the tracing stuff on now. Sort of thought the info mightn't be much use - really we need to catch the initial BRK and leadup conditions.

BRK is actually sort of a 2 byte instruction, for whatever reason the docs all say implied instruction although I don't think the second byte gets read - it's up to the handler if required to grab the second byte.

Link to comment
Share on other sites

Got another one - right near the end of Level 7. Not sure if this'll be helpful but more info than last time.

 

Call Stack: 01F4: 0000*

 

Debug History window:

 

 

+ 424878:266: 47 | A=00 X=04 Y=00 S=F7 P=B4 | 2270: 20 A9 28          JSR $28A9

+ 424878:269: 99 | A=00 X=04 Y=00 S=F7 P=B4 | 2273: 20 DC 24          JSR $24DC

+ 424878:270:  4 | A=00 X=00 Y=00 S=F7 P=36 | 2276: 20 0A 2D          JSR $2D0A

+ 424878:270: 98 | A=00 X=29 Y=08 S=F7 P=37 | 2279: 20 9B 27          JSR $279B

+ 424878:284:  7 | A=00 X=29 Y=FF S=F7 P=B5 | 227C: 20 31 28          JSR $2831

+ 424878:287: 88 | A=01 X=FF Y=01 S=F7 P=B4 | 227F: 20 6F 29          JSR $296F

+ 424878:289: 68 | A=00 X=03 Y=0F S=F7 P=37 | 2282: 20 31 34          JSR $3431

+ 424878:290: 56 | A=B3 X=02 Y=0F S=F7 P=B4 | 2285: 20 86 34          JSR $3486

+ 424878:290: 94 | A=B2 X=01 Y=0F S=F7 P=B4 | 2288: 20 9A 34          JSR $349A

+ 424878:291: 62 | A=B1 X=00 Y=0F S=F7 P=B4 | 228B: 20 A7 32          JSR $32A7

+ 424878:293: 44 | A=B7 X=FF Y=0F S=F7 P=B4 | 228E: 20 A5 33          JSR $33A5

+ 424878:294: 59 | A=00 X=FF Y=0F S=F7 P=B4 | 2291: 20 FA 32          JSR $32FA

  424878:295: 70 | A=00 X=FF Y=0F S=F7 P=B4 | 2294: A5 D8             LDA $D8

  424878:295: 73 | A=0A X=FF Y=0F S=F7 P=34 | 2296: 30 02             BMI $229A

  424878:295: 75 | A=0A X=FF Y=0F S=F7 P=34 | 2298: D0 0A             BNE $22A4

  424878:295: 78 | A=0A X=FF Y=0F S=F7 P=34 | 22A4: A6 E4     L22A4   LDX $E4

  424878:295: 81 | A=0A X=1E Y=0F S=F7 P=34 | 22A6: BD 9D 5D          LDA $5D9D,X  ;$5DBB

  424878:295: 85 | A=00 X=1E Y=0F S=F7 P=36 | 22A9: 8D E7 DC          STA $DCE7

  424878:295: 89 | A=00 X=1E Y=0F S=F7 P=36 | 22AC: 8D E8 DC          STA $DCE8

  424878:295: 93 | A=00 X=1E Y=0F S=F7 P=36 | 22AF: 8D E9 DC          STA $DCE9

  424878:295: 97 | A=00 X=1E Y=0F S=F7 P=36 | 22B2: 8D EA DC          STA $DCEA

  424878:295:101 | A=00 X=1E Y=0F S=F7 P=36 | 22B5: 8D EB DC          STA $DCEB

  424878:295:105 | A=00 X=1E Y=0F S=F7 P=36 | 22B8: A5 D8             LDA $D8

  424878:295:108 | A=0A X=1E Y=0F S=F7 P=34 | 22BA: 18                CLC

  424878:295:110 | A=0A X=1E Y=0F S=F7 P=34 | 22BB: 69 03             ADC #$03

  424878:295:112 | A=0D X=1E Y=0F S=F7 P=34 | 22BD: 4A                LSR

  424878:296:  0 | A=06 X=1E Y=0F S=F7 P=35 | 22BE: 4A                LSR

  424878:296:  2 | A=03 X=1E Y=0F S=F7 P=34 | 22BF: AA                TAX

  424878:296:  4 | A=03 X=03 Y=0F S=F7 P=34 | 22C0: BD 97 5D          LDA $5D97,X  ;$5D9A

  424878:296:  8 | A=1C X=03 Y=0F S=F7 P=34 | 22C3: 8D E0 DC          STA $DCE0

  424878:296: 12 | A=1C X=03 Y=0F S=F7 P=34 | 22C6: 8D E1 DC          STA $DCE1

  424878:296: 16 | A=1C X=03 Y=0F S=F7 P=34 | 22C9: 8D E2 DC          STA $DCE2

  424878:296: 20 | A=1C X=03 Y=0F S=F7 P=34 | 22CC: 8D E3 DC          STA $DCE3

  424878:296: 24 | A=1C X=03 Y=0F S=F7 P=34 | 22CF: 8D E4 DC          STA $DCE4

  424878:296: 30 | A=1C X=03 Y=0F S=F7 P=34 | 22D2: A6 EC             LDX $EC

  424878:296: 34 | A=1C X=00 Y=0F S=F7 P=36 | 22D4: BC 70 5D          LDY $5D70,X  ;$5D70

  424878:296: 39 | A=1C X=00 Y=28 S=F7 P=34 | 22D7: A5 D9             LDA $D9

  424878:296: 43 | A=00 X=00 Y=28 S=F7 P=36 | 22D9: F0 1D             BEQ $22F8

  424878:296: 47 | A=00 X=00 Y=28 S=F7 P=36 | 22F8: 8C C1 02  L22F8   STY PCOLR1

  424878:296: 52 | A=00 X=00 Y=28 S=F7 P=36 | 22FB: AD 78 02          LDA STICK0

  424878:296: 58 | A=07 X=00 Y=28 S=F7 P=34 | 22FE: 85 E5             STA $E5

  424878:296: 61 | A=07 X=00 Y=28 S=F7 P=34 | 2300: A2 F0             LDX #$F0

  424878:296: 63 | A=07 X=F0 Y=28 S=F7 P=B4 | 2302: A5 C4             LDA $C4

  424878:296: 66 | A=03 X=F0 Y=28 S=F7 P=34 | 2304: 29 01             AND #$01

  424878:296: 68 | A=01 X=F0 Y=28 S=F7 P=34 | 2306: F0 02             BEQ $230A

  424878:296: 70 | A=01 X=F0 Y=28 S=F7 P=34 | 2308: A2 00             LDX #$00

  424878:296: 72 | A=01 X=00 Y=28 S=F7 P=36 | 230A: 8E 03 BC          STX $BC03

  424878:296: 76 | A=01 X=00 Y=28 S=F7 P=36 | 230D: A5 C4             LDA $C4

  424878:296: 79 | A=03 X=00 Y=28 S=F7 P=34 | 230F: 29 02             AND #$02

  424878:296: 81 | A=02 X=00 Y=28 S=F7 P=34 | 2311: F0 12             BEQ $2325

  424878:296: 83 | A=02 X=00 Y=28 S=F7 P=34 | 2313: A4 C7             LDY $C7

  424878:296: 86 | A=02 X=00 Y=00 S=F7 P=36 | 2315: F0 05             BEQ $231C

 
  424878:296: 89 | A=02 X=00 Y=00 S=F7 P=36 | 231C: A4 C6     L231C   LDY $C6

  424878:296: 92 | A=02 X=00 Y=00 S=F7 P=36 | 231E: F0 05             BEQ $2325

  424878:296: 95 | A=02 X=00 Y=00 S=F7 P=36 | 2325: A9 00     L2325   LDA #$00

  424878:296: 97 | A=00 X=00 Y=00 S=F7 P=36 | 2327: 85 C7             STA $C7

  424878:296:100 | A=00 X=00 Y=00 S=F7 P=36 | 2329: 85 C6             STA $C6

+ 424878:296:103 | A=00 X=00 Y=00 S=F7 P=36 | 232B: 20 1C 46          JSR $461C

  424878:310: 46 | A=01 X=00 Y=1C S=F7 P=35 | 232E: A9 53             LDA #$53

  424878:310: 48 | A=53 X=00 Y=1C S=F7 P=35 | 2330: 8D 51 47          STA $4751

  424878:310: 54 | A=53 X=00 Y=1C S=F7 P=35 | 2333: A9 47             LDA #$47

  424878:310: 56 | A=47 X=00 Y=1C S=F7 P=35 | 2335: 8D 52 47          STA $4752

  424878:310: 61 | A=47 X=00 Y=1C S=F7 P=35 | 2338: AD 1F D0          LDA CONSOL

  424878:310: 65 | A=07 X=00 Y=1C S=F7 P=35 | 233B: 29 02             AND #$02

  424878:310: 67 | A=02 X=00 Y=1C S=F7 P=35 | 233D: D0 1C             BNE $235B

  424878:310: 70 | A=02 X=00 Y=1C S=F7 P=35 | 235B: 85 C5     L235B   STA $C5

  424878:310: 73 | A=02 X=00 Y=1C S=F7 P=35 | 235D: A5 BC             LDA $BC

  424878:310: 76 | A=00 X=00 Y=1C S=F7 P=37 | 235F: F0 0E             BEQ $236F

  424878:310: 79 | A=00 X=00 Y=1C S=F7 P=37 | 236F: A5 C9     L236F   LDA $C9

  424878:310: 82 | A=00 X=00 Y=1C S=F7 P=37 | 2371: D0 6F             BNE $23E2

  424878:310: 84 | A=00 X=00 Y=1C S=F7 P=37 | 2373: A5 D7             LDA $D7

  424878:310: 87 | A=01 X=00 Y=1C S=F7 P=35 | 2375: F0 6B             BEQ $23E2

  424878:310: 89 | A=01 X=00 Y=1C S=F7 P=35 | 2377: AD 0F D2          LDA SKSTAT

  424878:310: 93 | A=BF X=00 Y=1C S=F7 P=B5 | 237A: 29 04             AND #$04

  424878:310: 95 | A=04 X=00 Y=1C S=F7 P=35 | 237C: F0 05             BEQ $2383

  424878:310: 97 | A=04 X=00 Y=1C S=F7 P=35 | 237E: 85 B0             STA $B0

  424878:310:100 | A=04 X=00 Y=1C S=F7 P=35 | 2380: 4C 36 22          JMP $2236

  424878:310:103 | A=04 X=00 Y=1C S=F7 P=35 | 2236: A5 14     L2236   LDA RTCLOK+2

  424878:310:106 | A=AE X=00 Y=1C S=F7 P=B5 | 2238: C5 14     L2238   CMP RTCLOK+2

  424878:310:109 | A=AE X=00 Y=1C S=F7 P=37 | 223A: F0 FC             BEQ $2238

+ Last 2 insns repeated 350 times

  424879: 23: 10 | A=AE X=00 Y=1C S=F7 P=37 | 2238: C5 14     L2238   CMP RTCLOK+2

+ NMI interrupt (DLI)

  424879: 26:110 | A=AE X=00 Y=1C S=F7 P=37 | 223A: F0 FC             BEQ $2238

  424879: 26:113 | A=AE X=00 Y=1C S=F7 P=37 | 2238: C5 14     L2238   CMP RTCLOK+2

+ Last 2 insns repeated 38 times

+ NMI interrupt (DLI)

  424879: 33: 82 | A=AE X=00 Y=1C S=F7 P=37 | 223A: F0 FC             BEQ $2238

  424879: 33: 88 | A=AE X=00 Y=1C S=F7 P=37 | 2238: C5 14     L2238   CMP RTCLOK+2

+ Last 2 insns repeated 50 times

+ NMI interrupt (DLI)

  424879: 45: 22 | A=AE X=00 Y=1C S=F7 P=37 | 223A: F0 FC             BEQ $2238

  424879: 45: 32 | A=AE X=00 Y=1C S=F7 P=37 | 2238: C5 14     L2238   CMP RTCLOK+2

+ Last 2 insns repeated 16 times

+ NMI interrupt (DLI)

  424879: 49: 80 | A=AE X=00 Y=1C S=F7 P=37 | 223A: F0 FC             BEQ $2238

  424879: 49: 86 | A=AE X=00 Y=1C S=F7 P=37 | 2238: C5 14     L2238   CMP RTCLOK+2

+ Last 2 insns repeated 50 times

+ NMI interrupt (DLI)

  424879: 57: 80 | A=AE X=00 Y=1C S=F7 P=37 | 223A: F0 FC             BEQ $2238

  424879: 57: 86 | A=AE X=00 Y=1C S=F7 P=37 | 2238: C5 14     L2238   CMP RTCLOK+2

+ Last 2 insns repeated 50 times

+ NMI interrupt (DLI)

  424879: 65: 98 | A=AE X=00 Y=1C S=F7 P=37 | 223A: F0 FC             BEQ $2238

  424879: 65:104 | A=AE X=00 Y=1C S=F7 P=37 | 2238: C5 14     L2238   CMP RTCLOK+2

+ Last 2 insns repeated 49 times

+ NMI interrupt (DLI)

  424879: 74:110 | A=AE X=00 Y=1C S=F7 P=37 | 223A: F0 FC             BEQ $2238

  424879: 74:113 | A=AE X=00 Y=1C S=F7 P=37 | 2238: C5 14     L2238   CMP RTCLOK+2

+ Last 2 insns repeated 28 times

- IRQ interrupt

    424879: 78: 14 | A=AE X=00 Y=1C S=F4 P=37 | 0000: 00 00     L0000   BRK #$00



 

 

 

 

Link to comment
Share on other sites

I still find Level 5 the hardest for some reason. The key to success is knowing where to run the gauntlet and where to just use energy on colour changes. My downfall is usually that I take the gauntlet route, plus I tend to rush a bit.

I think I've run out of time maybe 2 or 3 occasions ever, it's always getting shot or falling that kills me off.

Link to comment
Share on other sites

It can come down to deciding if to divert to grab a bonus and there are strategic times to shoot some of the enemies due to what they leave behind, especially if it's a colour changer.

As for getting the absolute maximum score, I don't think I've even been able to get past Level 5 starting from scratch so still a lot of work left there.

Link to comment
Share on other sites

 

  424879: 74:110 | A=AE X=00 Y=1C S=F7 P=37 | 223A: F0 FC             BEQ $2238

  424879: 74:113 | A=AE X=00 Y=1C S=F7 P=37 | 2238: C5 14     L2238   CMP RTCLOK+2

+ Last 2 insns repeated 28 times

- IRQ interrupt

    424879: 78: 14 | A=AE X=00 Y=1C S=F4 P=37 | 0000: 00 00     L0000   BRK #$00

 

How can there be an IRQ when they are disabled by SEI? The I bit in status register is set (P=$37) when IRQ occurs and is processed. Looks to me like some emulator bug.

Link to comment
Share on other sites

You mean that the IRQ was caused by BRK? The history shows something different... the code is in a loop CMP RTCLOCK and BEQ to compare, waiting for new frame when it jumps into IRQ, so no BRK instruction between.

Edited by MaPa
Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...