Tigger C: a file system on 6502 for I2C serial EEPROMs

Tigger C generates efficient code for the 6502: fast and compact. Tigger C is written in Hopper and takes advantage of the Hopper 6502 Assembly toolchain.
This is a walkthrough of the implementation of a small file system for serial I2C EEPROMs like the one on the Hopper 6502 SBC.
Tigger C string and file library documentation on GitHub:
github.com/sillycowvalley/Hop...
64K Serial EEPROM file system overview:
github.com/sillycowvalley/Hop...
Oscar 64 compiler on GitHub:
github.com/drmortalwombat/osc...

Пікірлер: 9

  • @DrMortalWombat
    @DrMortalWombat7 күн бұрын

    Great progress there. I tested the Sieve benchmark with Oscar64 on a C64 and got 12.5 seconds - so there may still be some easy gains for your compiler.

  • @biggertigger

    @biggertigger

    7 күн бұрын

    Nice. 1.023 MHz version, I presume. Out of interest, can you share the C code? Here is my version: gist.github.com/sillycowvalley/37afedf1cb7105e70ad7b51ce7cb8105

  • @DrMortalWombat

    @DrMortalWombat

    7 күн бұрын

    @@biggertigger This is the version I have based my test on, just hammering it into C shape with printfs, [] and clock_t. It is a PAL C64 running at 0.985MHZ. Without badlines and at 1MHZ we would be at around 11.4 seconds.

  • @biggertigger

    @biggertigger

    7 күн бұрын

    That's pretty darn impressive!

  • @DrMortalWombat

    @DrMortalWombat

    7 күн бұрын

    @@biggertigger You made the perfect comment at the three minute mark. The extrem disparity of modern compilers and systems and the potential code size of the target system allow for an amount of optimization that would not be possible in a reasonable amount of code and time when compiling on and to systems of comparable power. Oscar64 can easily consume gigabytes of RAM when compiling larger cartridge based games.

  • @biggertigger

    @biggertigger

    7 күн бұрын

    Can you share the disassembly for your version of main() for Sieve?

  • @coffeecuppepsi
    @coffeecuppepsi13 сағат бұрын

    This is amazing. Id love to run this on my 6502 emulator. Current it has basic , Ben Eater project ", but I want to work out how file save and load is done. I imagine it's the same system call on any 6502 OS?