Multiple Sprites C64 [aus: MS C 64 Mega65 ]

Es gibt 14 Antworten in diesem Thema, welches 1.335 mal aufgerufen wurde. Der letzte Beitrag (23. Oktober 2024 um 13:03) ist von sci_fe.

  • Hi, I was trying out code from an older thread - Bitte melde dich an, um diesen Link zu sehen. - by MightyAxle. Unfortunately, I was not able to get it running, the floppy is always jagged, have no clue why, if I change the order of the sprites another one is jagged. What could be wrong? Thanks!

    Bitte melde dich an, um diesen Anhang zu sehen.

  • controlport2  8R0TK4$T3N  Dcobain

    can someone put this in the correct section (BASIC for C64) please :) ?

    sag mir schnell eine Zieladresse, dann ist das erledigt.

    Ich muss erst noch alle "Unterordner" kennenlernen :smile:

    Commodore C64, C64 II, Atari 1040 ST, Atari 1040 STF, Atari Falcon 030, Atari Portfolio, Ender V3 Neo V2, Amiga 500 & Gotek

    Bitte melde dich an, um diesen Link zu sehen. Status: unterwegs

    "NUR" das Diagnose Set Harness + 8in1 Diag Modul zum Verleih... Status: ... verfügbar

    Wer das Projekt unterstützen möchte, kann sich gerne per PM melden :-)

  • SkulleateR

    Ist dies der richtige Bereich ?

    Bitte melde dich an, um diesen Link zu sehen.

    Ich muß fragen, den hier kenne ich mich leider nicht aus.

    Commodore C64, C64 II, Atari 1040 ST, Atari 1040 STF, Atari Falcon 030, Atari Portfolio, Ender V3 Neo V2, Amiga 500 & Gotek

    Bitte melde dich an, um diesen Link zu sehen. Status: unterwegs

    "NUR" das Diagnose Set Harness + 8in1 Diag Modul zum Verleih... Status: ... verfügbar

    Wer das Projekt unterstützen möchte, kann sich gerne per PM melden :-)

  • SkulleateR

    Ist dies der richtige Bereich ?

    Bitte melde dich an, um diesen Link zu sehen.

    Ich muß fragen, den hier kenne ich mich leider nicht aus.

    Ich würde das hier reinpacken -> Bitte melde dich an, um diesen Link zu sehen. ;)

    "Werter Pöbel, wertes Gesocks ... aus dem Arsche zieht euch den Stock ..."

  • SkulleateR

    Den Beitrag hab ich verschoben nach :

    Bitte melde dich an, um diesen Link zu sehen.

    Ich hoffe, es passt so :smile:

    Commodore C64, C64 II, Atari 1040 ST, Atari 1040 STF, Atari Falcon 030, Atari Portfolio, Ender V3 Neo V2, Amiga 500 & Gotek

    Bitte melde dich an, um diesen Link zu sehen. Status: unterwegs

    "NUR" das Diagnose Set Harness + 8in1 Diag Modul zum Verleih... Status: ... verfügbar

    Wer das Projekt unterstützen möchte, kann sich gerne per PM melden :-)

  • Hello,

    Try this:

    You have to turn on multicolor mode for all three sprites.


    Best regards,

    Neptun

  • Thanks to the moderators for kindly putting me in the right section of the forum! Thanks Neptun for your help! It worked the Floppy displays now as expected, fantastic, thank you very much! There still must be a little bug somewhere, since the joystick is now cut and put together on the wrong side.

    Here you found an elegant way to find the right address for s3 = 15*64 to s3+63: read q3 : poke s3,q3 : next may I ask you on the thought behind this improvement?

    Very best sci_fe


    Bitte melde dich an, um diesen Anhang zu sehen.

  • I haven't counted the entries in the DATA statements, but there is at least some inconsistency between the numbers in the comments and the loop bounds.

    10 x=rnd(-1963):fori=1to81:y=rnd(1):next
    20 forj=1to5:printchr$(rnd(1)*16+70);:next
    30 printint(rnd(1)*328)-217

    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.

  • Yes, the comment with 64 bytes is wrong, I guess they are 63? In the single versions of the sprites, the inconsistencies did not show up, I tried to put all 3 together, then the troubles with my ignorance started. Here's the joystick:

    Bitte melde dich an, um diesen Anhang zu sehen.

  • Here you found an elegant way to find the right address for s3 = 15*64 to s3+63: read q3 : poke s3,q3 : next may I ask you on the thought behind this improvement?

    i did

    Code
    100 REM  SET SPRITEBLOCK B, START ADDRESS A AND MEMORY RANGE E
    110 B=13 : A=B*64 : E=A-1+3*64
    120 REM  READ AND POKE SPRITE DATA FOR 3 SPRITES (64 BYTES EACH)
    130 FOR S = A TO E : READ D : POKE S,D : NEXT
    
    140 POKE 2040,B   : REM POINTER (CASSETTE)
    150 POKE 2041,B+1 : REM POINTER (FLOPPY)
    160 POKE 2042,B+2 : REM POINTER (JOYSTICK)

    o/c you could do the pointers by "for next" too

  • Here are 2 together, cassette and floppy

  • another visitor version :)

    Bitte melde dich an, um diesen Anhang zu sehen.

    (slightly optimized with correct data lines)

    Wow thank you, looks like it should. I will try to understand your optimisations.. :) Best sci_fe