Serial Bootloader for ANY 6502 Single Board Computer

Поділитися
Вставка
  • Опубліковано 5 сер 2023
  • In this video we code a software UART and serial bootloader in 6502 assembly for the 65uino - the 6502 Single Board Computer in Arduino Uno form factor.
    In the last video we wrote a driver for the common SSD1306 i2c OLED displays
    • OLED display on a 6502...
    The video before that one,I write the i2c driver routines and explain a bit about how the 65uino Arduino clone evolved from the 6502 Single Breadboard Computer is here: • I²C on a 6502 Single B...
    If you haven't seen it yet, I suggest you check out the video about my "Single Breadboard Computer"
    • A 6502 Based Computer ...
    In the video I also mention my 6502 Single Board Computer R1 • A 6502 Single Board Co...
    You can find the full project description on hackaday.io/project/190260-65... Source code and hardware files: github.com/AndersBNielsen/65uino
    Credits
    Video by RDNE Stock project: www.pexels.com/video/man-doin...
    Ben Eater's RS-232 video
    • The RS-232 protocol
    Usagi Electric - Memory Map and 4 bits of RAM
    • Vacuum Tube Computer P...
    Lulu's blog, common baud rates: lucidar.me/en/serialib/most-u...
  • Наука та технологія

КОМЕНТАРІ • 18

  • @75slaine
    @75slaine 10 місяців тому +1

    Great to include the mistakes, I love it when video's contain the dead ends and coding errors. We all go through the same "Why ?, Why ??, WHY !, Oh that's why" cycles.

  • @user-uq2ks2dr4p
    @user-uq2ks2dr4p 2 місяці тому

    Your 65unio looks great. I have my 6502S and a at28c256 eeprom sitting on my breadboard. I really dont want to be taking the EEPROM on and off the breadboard. I noticed you only have 128bytes of ram from your RIOT, (I have the VIA) but you achieve so much with it. I am so impressed. You inspire me so much. I went to thumb up your video, but I have already done that.

    • @AndersNielsenAA
      @AndersNielsenAA  2 місяці тому

      In a future revision I plan to make it “in circuit programmable” - it’ll just copy the bootloader from ROM to RAM before deleting itself :) But that also needs a few hw changes so it’ll have to wait a bit.
      For now I’m focused on making a cheap ROM programmer that also does the 14-25V programmable ROMs.

    • @user-uq2ks2dr4p
      @user-uq2ks2dr4p 2 місяці тому

      @@AndersNielsenAA 13-25volt roms. The old ones. I am sure you can do that. I am just glad to move away from the flash systems of the arduinos. I have a stack of atmega328p chips. I am glad to be playing with the 6502. At the moment I have mess with the EEPROM, but your serial loader looks great. There is a OS for the 6502 but it uses nodejs, and I would much prefer to use Python as you have. You have a nice serial big-bang that works great :) The kids will say *Oh its only 9600bps but kids your code will maybe be 10 to maybe 30 bytes long.* I also have a great idea for a game, but that was going to use the 2x16 LCD. I much prefer your i2c graphics display. Keep going. I better get to bed soon else I'll be in trouble. I have lots of great ideas, but I also have lots and lots of learning ahead, and I don't mind that. Take care.

  • @GregStrike
    @GregStrike 10 місяців тому

    Nice progress Anders! So cool to see it booting over serial!

  • @eternaldoorman5228
    @eternaldoorman5228 10 місяців тому +1

    Very cool!

  • @GregCoonrod
    @GregCoonrod 10 місяців тому

    Have you talked about setting up cc65 in a previous video? I've had a bunch of issues with it and would love to see some working examples of cc65 being used with a custom sbc.

    • @AndersNielsenAA
      @AndersNielsenAA  10 місяців тому +1

      I think I might have glossed over that in the videos, but I have at least three working examples :) For my 6502 SBC R1, the "Single Breadboard Computer" and the 65uino. On the Github repo's look for the files memmap.cfg and assemble. sh - I only use it for assembly source though. In the .s assembly files you'll fint .SEGMENTS that point to the areas defined in memmap.cfg. ca65 creates the object files, ld65 does the linking and makes the binary files.

  • @vascosantosonfire
    @vascosantosonfire 10 місяців тому

    Nice work, I will make this project in a Green dev PCB. One question, the serial booloader write the data in flash IC ?

    • @AndersNielsenAA
      @AndersNielsenAA  10 місяців тому

      The serial bootloader only writes to RAM - currently the ROM is read only in circuit. I might make the 5V programmable ROM types programmable in a future revision - but not just yet.
      Currently you send code to RAM, supplemented by subroutines in ROM :)

  • @user-uq2ks2dr4p
    @user-uq2ks2dr4p 3 місяці тому

    The board sounds great. I wonder how expensive to Australia?

    • @AndersNielsenAA
      @AndersNielsenAA  3 місяці тому

      For some reason I ship about the same amount of boards to Australia as the US, go figure. Shipping is around AU$9.50-ish.

    • @user-uq2ks2dr4p
      @user-uq2ks2dr4p 3 місяці тому

      @@AndersNielsenAA 9.50ish is not bad, I looked up what a 6507 is. A cut down 6502. I have been watching your videos, my adapter is know done and will be sent real soon and I will be building Ben Eater mark II. I very much enjoy your assembly.

  • @petermuller608
    @petermuller608 10 місяців тому

    Do you happen to be aware of a simple 6502 assembly optimizer? I often find myself setting registers and clearing flags as preconditions but it shouldn't be that hard to detect certain preconditions inside a basic block and remove those

    • @AndersNielsenAA
      @AndersNielsenAA  10 місяців тому +1

      Well, I’m tempted to think that’s the usual reason we have higher level code - and compilers that usually do a better job than assembly programmers.
      Eventually I’ll have to try out C using both cc65 and SDCC for the 6502.. if nothing else to see if I can do better.

  • @kokodin5895
    @kokodin5895 10 місяців тому

    give it some time and someone will think about making arduino ide core for it :]

    • @AndersNielsenAA
      @AndersNielsenAA  10 місяців тому

      Well, I’ll certainly think about it myself :)