OLED display on a 6502 Single Board Computer using i2c

Поделиться
HTML-код
  • Опубликовано: 24 ноя 2024

Комментарии • 27

  • @KeyboardThumper
    @KeyboardThumper Год назад +1

    Majestic! And Congrats!

  • @75slaine
    @75slaine Год назад +2

    Congratulations on the Level Up Anders. Continue to really enjoy this series, looking forward to the next installment.

  • @electromatic138
    @electromatic138 Год назад +1

    Congratulations 🎉🎉🎉🎉

  • @carlo_geiss
    @carlo_geiss 8 месяцев назад

    wonderful .... i love this easy assembler working form basics ... i want to make it too but i thought the ssd1306 libraries are to big for 6502 ... but now i knew it better ... thank you ....i still work with my old EMUF 232 boards .... i love it sooo much ... have a nice time ... greetings forn North-Sweden ... Carlo SA2KHG ...

  • @zakyzigzag
    @zakyzigzag 6 месяцев назад

    Maybe too late, but congrats on the wedding🎉

  • @JoseLopez-xu9qv
    @JoseLopez-xu9qv Год назад

    Excelente proyecto, gracias por compartir 🎉

  • @petermuller608
    @petermuller608 Год назад

    That PCB layout looks wild! Nice video

  • @d18c7db
    @d18c7db Год назад

    Congrats on leveling up! Instead of using xtmp, is it not more typical do a PHA, TYA, PHA, TXA, PHA on entry to subroutine then PLA, TAX, PLA, TAY, PLA, RET on exit from subroutine. This way all calls to subroutines preserve the A/Y/X registers on return. Of course if a register isn't used in a subroutine then no need to push/pop it from stack.

    • @AndersNielsenAA
      @AndersNielsenAA  Год назад

      It's always a tradeoff between speed, ROM and RAM space.. and laziness.
      In this case STA xtmp is 3 cycles + 2 bytes(ROM), whereas TXA PHA is 5 cycles + 2 bytes. So the former wins because it's faster and we don't need the subroutine to be reentrant :)

  • @viperjay1
    @viperjay1 Год назад +1

    I am curious when you didn't add the control characters like carriage return or newline (time around 10:18 in the video) How would the computer know how to enter or create a new line? Also you know someone is going to say play "Doom" on it. Congrats on your marriage!

    • @AndersNielsenAA
      @AndersNielsenAA  Год назад

      Thanks!
      Actually you're on to a core issue with running the SSD1306 via i2c :) Since it doesn't allow reads via i2c or SPI we can't check the current "cursor position" and since we don't use a framebuffer the 6507 has access to, we'll have to find other ways to keep track of the cursor position.
      That's also why I didn't have that part in the video I released today - the best I can come up with is to increment a counter every time we write a character to keep track of which page we're on.. And if we get a CR/NL we skip to the next page. It'll make it a bit slower but won't eat too much RAM.
      Gotta play 2D Doom on it :)

    • @viperjay1
      @viperjay1 Год назад

      @@AndersNielsenAA Come on you can't play "Doom" on it or can you? I enjoy your videos although I can only imagine how painful it is to constantly update the memory chip with new code. By the way is this a different project from the make "pong" on an old 386 machine? I was looking forward to adding ms-dos and making a newer version of the pong game.

    • @AndersNielsenAA
      @AndersNielsenAA  Год назад

      @viperjay1 I imagine the best "Doom" I can do for the 65uino is to port "Rogue" and call it "Doom 2D" :D
      Oh, that wasn't a 386! That was an 8088 PC XT - and next step on that project is to make the floppy drive controller. I'm afraid I'm confusing the RUclips algorithm a bit with 6502 and 8088 content on the same channel, but seems crazy to make another just for that project.

  • @annyone3293
    @annyone3293 Год назад

    Cool cool cool!
    It’s a shame we don’t have more RAM in this SBC to be able to load programs using a serial port and ditch constant fiddling with flash chip. It’s a nice challenge to fit your variables in 128 bytes but fitting code in that space does cripple one’s ability to have fun.

    • @AndersNielsenAA
      @AndersNielsenAA  Год назад +2

      128 bytes isn't much for code + variables, but you can do quite a lot with 100 bytes of code along with a bunch of generic subroutines in ROM. I'd certainly like to demo that before I start adding RAM :D

  • @markgreco1962
    @markgreco1962 Год назад

    Congratulations on the wedding

  • @przemekbundy
    @przemekbundy Год назад

    Hello. did the mole agree to let you program the 6502 in his area??

    • @AndersNielsenAA
      @AndersNielsenAA  Год назад

      I’m a member of 6502’s without borders - no permission needed

  • @eternaldoorman5228
    @eternaldoorman5228 Год назад

    What's Ukraine like as a honeymoon destination?