What the Heck is NoFastMem? -- Amiga RAM and Older Games

Ғылым және технология

New videos will be published on PeerTube! makertube.net/c/the_industrio...
Topaz the Rabbit digs into NoFastMem, the Amiga system utility with the
rabbit-themed icon that makes it possible to play some older Amiga games.
Thanks to Tyrel (@tyrelsouza), Jim K. (@ijimkoz), Colin!
Read more at theindustriousrabbit.com and subscribe
to the channel and RSS feed for future updates!
---
References
* Nameless Algorithm post on Rogue (www.namelessalgorithm.com/ami...)
Blog post about Rogue, the Amiga 1000, and NoFastMem
* Hardware details on the blitter (amigadev.elowar.com/read/ADCD_...)
From the AmigaOS developer docs
* Amiga Programming in C Part 5 - Blitter Fundamentals ( • Amiga Hardware Program... )
Most blitter examples are in 68k assembler, but I wanted to work in C, and this series of videos helped me figure out how to do so!
* AmigaOS NDK 3.9 docs on AllocMem (amigadev.elowar.com/read/ADCD_...)
You'll have to hunt around a bit to find the 1.3 NDK
* Chip RAM vs. Fast RAM vs. Slow RAM (dfarq.homeip.net/amiga-chip-r...)
More details on Chip vs. Fast vs. Slow RAM
* GitHub repository with example C code & binary (github.com/TheIndustriousRabb...)
Read over the C code used in this video and try running it yourself!
---
Credits
* Black Vortex by Kevin MacLeod
incompetech.filmmusic.io/song...
Simplified Filmmusic.io Standard License (incompetech.filmmusic.io/stan...)
* Industrious Ferret by Kevin MacLeod
incompetech.filmmusic.io/song...
Simplified Filmmusic.io Standard License (incompetech.filmmusic.io/stan...)
* Mouse click sounds by Masgame
freesound.org/people/Masgame/...
CC-0 (creativecommons.org/publicdom...)

Пікірлер: 44

  • @kimorlandonilsson1196
    @kimorlandonilsson1196 Жыл бұрын

    As an Amiga fan I was thrilled to find this video. So well produced and I even learn something new. Well done. You got yourself a new subscriber.

  • @MacintoshLibrarian
    @MacintoshLibrarian2 жыл бұрын

    Thanks for this ! I grew up with Macs and Amigas and always wondered what that bunny Icon was for.

  • @Waccoon
    @Waccoon Жыл бұрын

    Way more in-depth than I expected. I think I'm going to like your channel. 8)

  • @coolvideos8864
    @coolvideos8864 Жыл бұрын

    Do more Amiga content! These are by far your most popular videos. Love your content =)

  • @TheIndustriousRabbit

    @TheIndustriousRabbit

    Жыл бұрын

    There will definitely be more Amiga content in this channel's future! Thanks!

  • @plechaim
    @plechaim2 жыл бұрын

    Great video really well explained

  • @dissident4117
    @dissident41176 ай бұрын

    Well done. A good video for those who didn‘t grow up with an Amiga.

  • @lurkerrekrul
    @lurkerrekrul Жыл бұрын

    NoFastMem was only good for programs launched from Workbench. If you needed to boot a non-DOS game without Fast RAM, this wouldn't do you any good. I forget where I got it, but I used to have a floppy that had a small boot-block program on it. When you booted it, it came up with a screen that kind of looked like a cracking group intro and it let you disable Fast RAM, external drives, or both. It would then reboot the machine with those settings in effect for one session. I used to use this to disable Fast RAM for running the games Archon and Archon II. Later on, Degrader had the same options and more. Of course, if I remember correctly, Degrader only works on Kickstart 2.0 and the US releases of the Archon games only worked in Kickstart 1.x. Some say they needed KS 1.2, but I used to run them in KS 1.3 just fine.

  • @TheIndustriousRabbit

    @TheIndustriousRabbit

    Жыл бұрын

    Oh that's handy! Rogue runs from the disk's Startup-Sequence script, so it's possible to modify the script and run NoFastMem before running Rogue off floppy.

  • @lurkerrekrul

    @lurkerrekrul

    Жыл бұрын

    @Neb6 Hm, I seem to recall having some problem using Degrader under KS 1.3. Maybe the PAL option didn't work for me.

  • @nathanlamaire
    @nathanlamaire Жыл бұрын

    Never have known that Amiga could even fail on this super critical condition. I thought that they would separate mem allocation functions for both chip RAM and fast RAM on first start. By the way, never have known that this masterpiece will live here. I subbed so I won't miss further contents!

  • @DanielIvanovDecsev
    @DanielIvanovDecsev Жыл бұрын

    Now let's talk about mergemem :D

  • @jsrodman
    @jsrodman2 ай бұрын

    I think the workbench manual answered the question. At least, i remember learning it from print in the time.

  • @TatharNuar
    @TatharNuar Жыл бұрын

    You might want to take another look at the captions btw. Edit: Nevermind, KZread did a weird thing and put all the captions together on one screen. It was trying to translate English captions to English too.

  • @ScoopexUs
    @ScoopexUs5 ай бұрын

    In the beginning, there were no Fastmem expansions. It's only possible to be backwards-compatible, never future-compatible. Today, the oldies are patched for WHDLoad, but if you have original disks and an Amiga with Fastmem (which all Amigas deserve and makes them thrive), then make the not-future-compatible games run by using HogFast. (Or NoFastMem, unless it gurus your Amiga - again, software cannot be future-compatible.)

  • @MikeyGRetro
    @MikeyGRetro Жыл бұрын

    Explained very well. Great video. 👍

  • @youuuuuuuuuuutube
    @youuuuuuuuuuutube5 ай бұрын

    Finally understood what it was about.

  • @HiAdrian
    @HiAdrian Жыл бұрын

    Really good explanation, nice video!

  • @naviamiga
    @naviamiga11 ай бұрын

    Oh, very interesting. Seen the icon before but never thought much about it.

  • @jazzthief81
    @jazzthief81 Жыл бұрын

    This is fantastic!

  • @user-tb1vv6mw7v
    @user-tb1vv6mw7v2 жыл бұрын

    Amiga being what it is, also having all those kickstart, RAM, NTSC-PAL incomptabilites for sure added to the mess.

  • @SilverstringsMusings
    @SilverstringsMusings Жыл бұрын

    A lot of this is also useful for memory management in other systems.

  • @Qone78
    @Qone788 ай бұрын

    Thats why you code in asm and use sections 😊

  • @frankerobert5315
    @frankerobert5315 Жыл бұрын

    since i watched this video i love my atari sts a bit more :)

  • @TheIndustriousRabbit

    @TheIndustriousRabbit

    Жыл бұрын

    😆 I've never used an Atari ST! I'm gonna get around to it eventually.

  • @frankerobert5315

    @frankerobert5315

    Жыл бұрын

    ​@@TheIndustriousRabbit it would be interesting to watch a amiga view on the hardware. no special chips beside the blitter, one type of ram and line a. never the less some interesting videos here, i am a bit cusiuos how this goes on. best regards

  • @kimorlandonilsson1196

    @kimorlandonilsson1196

    Жыл бұрын

    The Amiga vs. Atari war never ends 😈

  • @siljamickeify
    @siljamickeify Жыл бұрын

    Just found your channel. Love the topics and your style. I am now a subscriber. I'm a coder by profession. I own an A500 which I want to get to know more than in my youth. Being a dad with basically zero time over to side projects, I would LOVE a guide towards the lowest friction path towards coding on it. Preferably not cross compile or UAE or similar. I'm guessing limitating factors are how memory hungry the compiler is, how to get hold of one/transfer to the Amiga, how to store programs, etc. All in a way that won't either ruin me (new hardware seems prohibitively expensive), nor make me hate the experience (floppies aren't as fast as I remembered them...).

  • @TheIndustriousRabbit

    @TheIndustriousRabbit

    Жыл бұрын

    That sounds like a neat idea! I have both the Gotek USB drive and the PCMCIA slot on my A1200 for transferring files. I think the hardest part will be getting files onto your A500. A Gotek would likely be the cheapest solution. If you can get your hands on an expansion card that provides a hard drive interface, that'd be the fastest. Once it's on there, as long as your machine meets the minimum requirements for the compiler/assembler/etc, it's down to how patient you want to be with build times and how you'll deal with the build assets.

  • @siljamickeify

    @siljamickeify

    Жыл бұрын

    @@TheIndustriousRabbit yesterday I had a pleasant experience compiling Hello World with Aztec C on an emulated WB1.3 A500 with HD. Beats compiling the work stuff (coming in at 15-20 minutes on bad days) by miles haha.

  • @TheIndustriousRabbit

    @TheIndustriousRabbit

    Жыл бұрын

    ​@Neb6 This is a great playlist!

  • @siljamickeify

    @siljamickeify

    Жыл бұрын

    @Neb6 WOW, thanks!!

  • @NORDSTRAND83
    @NORDSTRAND832 жыл бұрын

    Any chance you can reprogram Robin Hood - Conquest of the Long Bow so it will draw Ram from where it is available? 🤭

  • @TheIndustriousRabbit

    @TheIndustriousRabbit

    2 жыл бұрын

    Haha I'm not *that* good at Amiga hacking...yet. 😉

  • @stephenwhite506
    @stephenwhite506 Жыл бұрын

    What happens to programs that have already allocated memory from fast RAM? I wonder what NoFastMem actually does? I assume it simply allocates and consumes all remaining fast RAM. But if a program that was running before NoFastMem was run then frees its fast RAM then there would be fast RAM in the pool again. Unless NoFastMem switches something in the operating system to stop it freeing the RAM back to the pool.

  • @TheIndustriousRabbit

    @TheIndustriousRabbit

    Жыл бұрын

    I just tested out the memory allocation part and added the code I used, as well as a binary, to the repo linked to in the description. If you allocate Fast RAM, then run NoFastMem to prevent more Fast RAM allocations, the originally allocated Fast RAM doesn't go away or get relocated. It's still in Fast RAM, but new allocations will come from Chip RAM, until you run NoFastMem again.

  • @bradhansen2065
    @bradhansen2065 Жыл бұрын

    Great, but how do you know which programs need you to turn off Fast Ram?

  • @TheIndustriousRabbit

    @TheIndustriousRabbit

    Жыл бұрын

    I searched a bit for a definitive list but couldn't find one (if there is one, someone please comment!). Very likely, if the game is an older one, like mid-to-late 80s, and there's graphical corruption like with Rogue, or it just crashes right away on a non-AGA Amiga, it might be a Fast RAM issue. If you're using an emulator, you can try turning off Fast RAM directly, or running NoFastMem manually or as as part of a modified startup sequence. Some WHDLoad-bundled games I believe fix these issues, so you don't need to worry about it as much.

  • @bradhansen2065

    @bradhansen2065

    Жыл бұрын

    @@TheIndustriousRabbit Thanks for taking the time. I always thought “No fast ram.” Was the opposite of “Fastmemfirst.” Appreciate the answer.

  • @plasmaastronaut
    @plasmaastronaut3 ай бұрын

    all amiga fans go to their graves wondering why commodore didn't release an amiga in 1989 with improved sound, 8 bit colours, and a faster processor thereby maintaining the amigas lead in custom hardware over PCs and a lead in price over Apples.

  • @ecernosoft3096

    @ecernosoft3096

    3 ай бұрын

    1. They did. The A3000 existed in 1989 and it was a beast. 2. Apple was wicked expensive, you had the A500+

  • @ShieTar_
    @ShieTar_ Жыл бұрын

    Most "older" PCs have custom chips? Its not like modern PCs come without a GPU or a Sound-Chip or a "Chipset"-Chip ;-) Sure, there are "System on Chip" things now, but not a lot of people are gaming on them to my knowledge.

  • @mirabilis
    @mirabilis4 ай бұрын

    Why are you a rabbit?

  • @sacredbanana
    @sacredbanana Жыл бұрын

    Pros use AllocVec() instead :P

Келесі