• Valmond@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    18 days ago

    Yeah!

    I remember calculating the numbers for making sprites, 24x21 pixels IIRC, that you then POKEd into the correct places in memory and then POKEd some more to show and move them around.

    And you could copy over the ROM ASCII characters to RAM memory and modify them into blocks and stuff for a game, or a classic was to copy them twice but the second copy you merged them bit-shifted once to get fatter characters.

    And don’t get me started on the, for me at that time totally magic, interrupt to change sprites, background colors and more that you normally couldn’t do even with your hand cranked mashine code…

    What a time.

    • partial_accumen@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      18 days ago

      Another epiphany I’ve had with my recent c64 work is the speed of the computer. Since before this my only interface for writing anything was BASIC, I always thought the c64 was fairly slow or inefficient with its 1Mhz CPU. Now I know that the slowness is BASIC. Doing the exact same operations in assembler are SOOOO FAAASST!! As a test, one function was 141 times faster on the exact same hardware in assembler than it was in BASIC. Its still hard to wrap my head around that.

      • Valmond@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        16 days ago

        Yes!

        I made a platformer in BASIC, with killing stars, jumping, dissolving floors and all that clqssic stuff.

        It ran at a “correct” speed but not faster.

        Started the ASM/machinecode version, the sprite just disappeared when moving because it was so fast. IIRC I thought it about 500 times faster.