NDSi XL Programmspeicher

      NDSi XL Programmspeicher

      Hallo liebe Homebrew-Gemeinde,

      ich bin seit kurzem in die Programmierung des NDS eingestiegen.
      Ich habe schon recht viel Erfahrung, was das Programmieren von PC-Programmen angeht.
      Allerdings habe ich schnell festgestellt, dass man bei Programmen für den DS stets darauf achten sollte, keinen Speicher zu verschwenden.

      Mir wäre sehr geholfen, wenn Ihr mir ein paar Tips/Richtlinien geben könnten, wann, wie, wo man den Speicher des NDS schonen kann.
      Insbesondere interessiert es mich, wieviel Programmspeicher der NDS hat, sprich wie groß mein Programm an sich werden darf.
      Desweiteren würde ich gerne wissen, ob es Sinn macht bei Variablen immer den kleinstmöglichen Datentyp zu allokieren, beispielsweise:

      Quellcode

      1. uint8_t var;


      statt

      Quellcode

      1. int var;


      wenn nur ein Byte benötigt wird.
      Oder ist das Erbsenzählerei??

      Vielen Dank für eure Antworten/Denkanstöße

      Grüße!

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von AntiK ()

      Man sollte natürlich immer so sparsam wie möglich mit dem Speicher umgehen. Beim DS kannst du maximal 4 MiByte nutzen. Allerdings wird davon die Größe von deinem Binary (.nds) abgezogen.

      Eine Variable vom Typ unsigned int macht nur Sinn, wenn diese einen Wertebereich von 0 bis 255 annehmen soll bzw. da uint8_t ein CHAR-Typ ist, maximal nur 1 Zeichen darin speichern willst.

      Es ist auf jeden Fall sinnvoll, immer den kleinst-möglichen Datentyp zu definieren. Du kannst zwar sämtliche Variablen als int, long int usw. deklarieren, aber das verbraucht nur unnötig Speicher als man wirklich benötigt und es kommt schneller zum Speicherleck als man denkt.


      EigenschaftWert
      Modell:PlayStation Vita Slim, WiFi, schwarz, PCH-2016
      System-Software:3.63
      Modell:PlayStation TV
      System-Software:3.63, Whitelist Database modified
      Software:7 Vita Cartridges, 9 Titel als PSN-Download (Stand: 10. November 2016)
      Currently playing:Akiba's Trip 2: Undead & Undressed (+ DLC)


      EigenschaftWert
      Modell:PlayStation 4 Slim, 1 TB, CUH-2016B
      System-Software:4.06
      Software:1 PS4-Disk, 3 PSN-Downloads (Stand: 22. Dezember 2016)
      Currently playing:Megadimension Neptunia VII (+ DLC)
      Backlog:Deponia, Fairy Fencer F: Advent Dark Force, Sword Art Online: Hollow Realization

      EigenschaftWert
      Modell:Nintendo 3DS XL Yoshi Special Edition (grün-weiß)
      System-Software:10.1.0-27E
      Software:5 Titel als 3DS-Cartridge, 8 3DS-Titel als Download, 4 Virtual-Console-Titel (Stand: 18. Oktober 2015)
      Flashkarten:SuperCard DSTWO (wird nicht im 3DS benutzt)
      Currently playing:Hatsune Miku: Project Mirai DX / Pokémon: Omega Rubin / Cave Story + (3DSWare)

      EigenschaftWert
      Modell:Nintendo GameCube PAL Silber
      Revision:DOL-001
      Zubehör:2 Controller (Purple + Silber, kabelgeb.), 1 MemoryCard (128 MB, BigBen Interactive), 1 Game Boy Player, Nintendo MultiAV-Kabel, RGB-Kabel
      Spiele:12
      Sonstiges:SD Media Launcher

      EigenschaftWert
      Modell:Nintendo Wii Weiß
      Systemmenü:4.1E
      Boot Loader:Fixed Boot Loader (boot1c) / Standard Boot Loader boot2 v4
      BootMii:IOS
      Priiloader:v0.4 rev80 DE
      HBC:1.1.2
      cIOS + MIOS:IOS222 (hermes v4), IOS249[38] rev19 / cMIOS v10 with integrated GameCube Backup Launcher v0.2
      USB Loader + Storage:USB Loader GX (1.0.x), uLoader 5.1, cfg USB Loader, Neogamma / ohne