Here's MindFlareRetro's video about his return to retro-computing, and his discovery of MASTEROM. Links to download the ROM and manual are in the video description. Make sure you welcome MFR back to TH-cam too! th-cam.com/video/Et7ZM9f1mec/w-d-xo.html
12:55 I think the F5 key sets an "edit marker" for the other screen editing command F6, so if you, say, put the cursor at column 1 on the screen, and hit F5, the C64 will remember you put a "marker" there. If you then move the cursor to column 10, and then hit F6, the C64 is gonna erase everything from where you set the marker to the current cursor position, and move any other text to fill in what got erased. The CanDo software authoring package for the Amiga works in a similar manner to do cut and paste operations and it's very awkward until you get used to it. At least that's what I *think* is going on.
@@LeftoverBeefcake I think that's what it's supposed to do too, but every time I tried it, the whole line would erase. You can download the ROM from MindFlareRetro's video description if you want to give it a try; let me know if you figure it out.
@@8_Bit Tried it out for a while and yep, something seems buggy with that feature. No matter what it always erases the line. Also don't hit F8 without first defining a SYS address with =J or the whole machine will lock up!
Another super informative video, Robin. Thank you for explaining MASTEROM 64 so well. I am glad I asked you to do this MASTEROM deep dive -- there is no one better to analyze and explain this forgotten C64 Kernal replacement both on its surface and under the hood. Well done, as always ... and thank you, 8-Bit Sensei Robin!
My uncle had a ton of software for the c64 back in the 80's. At that time he gave a bunch of it to me, including a disk copy program that would copy anything. Even the most copy protected game titles were no match. This alone made it so me and my friends could share absolutely everything. Talk about simpler times.... Thanks for yet another interesting c64 video.
I’ll take Canadian Commodore History for $400, Alex. Oh why do I know much more about the C64 now than I did then? It’s thanks to fellow fans like you! 😊
I did most of my basic programming on a c64 and I miss it. It's just not the same using a remake c64. There was just something hypnotic about that blue screen and just being able to start entering a program. I wrote some very large games in the sloppiest code you ever saw and I'd spend hours tracking down bugs but those hours would seem like minutes and entire days would vanish. Those days are gone but I do miss them.
An interesting find. There were a few kernals with similar features in the 64's golden days when the Amiga had already taken over. You can only fit so much into the cassette and some other memory spaces. The best I found so far is the Jiffy/Dolphin-DOS hybrid, that one is a very mature hack.
0:30 Am I the only one who thinks MASTER CONTROL when reading the name? 3:48 I love that you counted the exact number of diff bytes 6:15 Interesting color choices 14:40 Side by side memory listings might be my new favorite nerdy thing 15:58 Pretty clever use of this vector 21:50 Yay the old credits are back! END OF LINE
Your always explaining things so well Robin. I grew up with an commodore but was to young to grasp the machine programming. I truly enjoy it now being explained. I am originally dutch but live in Canada now for more than 10 years... and the Bob and Doug reference was nice. Thanks for all your hard work eh!
I dunno, I still loved my epyx fastload cartridge. Especially after I put a button on it to do a soft reset so I could go into machine code and change things, then sys the code start address... oh man your videos take me back in time..
The sort of ROM replacement I would have liked to have back then. There's so many possible uses for the cassette routine space and it could be changed without affecting compatibility with anything disk-based.
In case you're interested, here's a video I made about all the different official Commodore variations on the KERNAL: th-cam.com/video/If4mcprqBZw/w-d-xo.html
This is so cool! What an amazing research project. Thanks to you both for sharing this with us all. The extra spaces in the version number are triggering my OCD though! I might have to create my own version with a tidier looking opening screen :-)
1:06 That web page looks familiar… 3:39 I thought Macbeth was dead… and he used a dagger instead of a staff… 6:08 Like the regular Kernal, MASTEROM chose colors with a low contrast difference. Is it wise to change the screen color? How many BASIC programs assume the default screen colors when they start? The best plan would be to use the normal screen colors but with a White cursor, which a lot of people probably activate habitually anyway. 7:39 I remember a hit song about SYS 64738… 11:23 Are you sure you have to add the ,8 on JiffyDOS? It eliminates the cassette routines, too. 17:15 Ha - I figured you'd get trapped in Quote Mode! You could type a second Quote and a Delete. 18:17 The EOR #$01 doesn't save anything over the stateless and more clear LDA #$09. Technically, it does the EOR if the drive ★IS★ equal to 8. 21:23 Oh no, the floating hand is typing telepathically now! I, for one, welcome our new floating-hand overlord. 22:16 There's that hit song!
I finally got trying it on JiffyDOS and you're right, the ,8 isn't needed there either. Interestingly, if you LOAD"$" on JiffyDOS then directory is loaded to $0400 implying that it's doing the equivalent of ,8,1 - I didn't expect that.
@@8_Bit: ,8,1 makes the most sense as a default since many programs are launched that way, and for almost all C64 programs, it's harmless even if it isn't necessary. Did you specifically test if MASTEROM is doing ,8,0?
I just tried and it seems that MASTEROM also does ,8,1 so LOAD"$" will display the directory on screen as it loads to $0400, just like JiffyDOS. I agree it's a sensible default, but it was still a bit of a surprise since the stock KERNAL has LOAD defaulting to ,0
All but one(a game cartridge) of my programs are on tape, so this would be useless to me. You did pre-empt this by mentioning most people here in England would indeed be using tape, though. Very interesting seeing this stuff, nonetheless.
Funny, I saw the address at the beginning with "Nipissing Rd." and thought - hey I visited North Bay, Lake Nipissing in the summer of 1985 (I'm from the US). Just looked up the address on Maps - nope, not even close to the lake. :-) I very much enjoy your videos, Robin (sp?).
Yeah, Nipissing is used as a name fairly often in Ontario; I'm not sure if it's all in reference to the lake or if there is another origin to the name. And yes, Robin is the correct spelling, thanks!
I used to own a c64 that had the Cockroach rom kernal replacement installed. No Idea about it specs or abilities but it seemed to be near or fully 100% compatible.
16:21 Question - as I understand it, the CMP instruction compares the value against the accumulator contents. How is the keystroke being fed into the accumulator? Is this what the subroutine at $0079 does?
@@8_Bit Aahh. Well I only collect games that I used to play when I was young. Everything else can go. :) And I like model trains, so I loved Deathride! But yeah it's very rare. I do have an original Deathride disk, but no case... I'm also still looking for Wings of Fury, and Pogo Joe.
@@GerbenWijnja Pogo Joe is great, and it's funny but I never played Wings of Fury! I just watched some gameplay video just now, it looks very interesting. I like how it has a close-up and distant camera, very unusual for 8-bit games.
Seems a bit memory inefficient with all those LDA/CMP/BNE to implement the new commands. I would have tried to set up some kind of general lookup table with codes to look for and the adress to jump to. Perhaps with a single byte with a bitmap indicating if the lookup is for one of the new command keys or one of the Fn keys. The bitmap could even be used to indicate if the jump adress is absolute or relative. With such a table in place, the decoding could be done with the Y register indexing the table and 4-5 instructions to LDA/CMP/BNE. I am not sure how much memory space could be saved (it all depends on how many of those nearly identical sequences of LDA/CMP/BNE/JMP that could be eliminated) but it sure would look much nicer!
I used the same color scheme when I burned my 64'er ROM from the 64'er Magazine. It looks good on a 14" black-and-white TV which has been converted into a monitor by adding a SVHS luminance input, a 64'er Magazine hardware project. That color scheme is not well suited for color displays, though.
I like this kernel, but maybe I would have done somethings differently. Something that I discovered with my Amiga and programming that an editor with macro ability was just awesome. Maybe if you (not specific you but someone) could have done a neat/small RLE (or anything smaller, faster better ofc) compression/decompression built it you could have had en small editor in kernel that would have a macro function (basic record/playback with search and find). It would not be impossible I think and it would have leveraged the C64 so much more... I mean if you don't use cassette (datasette) anymore you would be more "serious" user and then a basic text editor would be nice thing to have. Maybe have extra features loaded on the disk (which came with the ROM :-) which could turn it into a wordprocessor or IDE for either assembler or C, Pascal, Comal, ADA, Forth and so on and on... That would have been cool in 1987!
Would have been nice if the COMMODORE C64 had an Assembler like the MEMOTECH MTX512 had that could be accessed by typing ASSEM 10 return to let you write machine code programs.
Yes, I talk to the author André Fachat sometimes, and saw the presentation Glenn Holmer gave on it at VCFMW a couple years ago. It's really impressive.
How did companies get away with redistributing code that was largely copyrighted by Commodore? Did Commodore freely license the KERNAL for modification and commercial redistribution? I would be shocked if so.
I assume Commodore didn't fight it since it was something their customers wanted and Commodore wasn't providing it themselves, and there was no financial loss to Commodore as their customers had already purchased the original KERNAL legally. Commodore did go after 3rd party disk drive manufacturers that ripped the 1541 ROM code, but in that case, Commodore was losing out on sales of original 1541 drives.
It's similar in concept, in that it replaces the cassette ROM routines for other features that disk users will find more useful, but the particular features are mostly different, especially the JiffyDOS fast disk load protocol, which is not in MasterROM.
It is the original manual, but the term dongle goes back to at least 1981, for instance: archive.org/details/PersonalComputerWorld1981-10/page/132/mode/2up?q=dongle
I suppose Commodore saw it as a beneficial change? It's a totally different scenario to the clones of the 1541 drive that bundled the original 1541 code. Commodore saw no benefit from that.
They could rationalize it as the ROM chip being useless without being plugged into a C64, and anyone who bought a C64 has paid Commodore a copyright fee for the ROM they're replacing.
As far as I know Backbit and Kung Fu Flash don't support the KERNAL replacement feature that EasyFlash 3 has. EF3 does some trickery to switch out the KERNAL ROM in the C64 with a .bin file. Pretty sure a .crt file can't do this.
@@8_Bit I asked Evie and and she said that the Backit Pro with the PLAster V2 will support KERBAL replacement. I have the Backbit Pro, so I am ordering the PLAster V2. Thanks for replying.
Here's MindFlareRetro's video about his return to retro-computing, and his discovery of MASTEROM. Links to download the ROM and manual are in the video description. Make sure you welcome MFR back to TH-cam too! th-cam.com/video/Et7ZM9f1mec/w-d-xo.html
12:55 I think the F5 key sets an "edit marker" for the other screen editing command F6, so if you, say, put the cursor at column 1 on the screen, and hit F5, the C64 will remember you put a "marker" there. If you then move the cursor to column 10, and then hit F6, the C64 is gonna erase everything from where you set the marker to the current cursor position, and move any other text to fill in what got erased. The CanDo software authoring package for the Amiga works in a similar manner to do cut and paste operations and it's very awkward until you get used to it. At least that's what I *think* is going on.
@@LeftoverBeefcake I think that's what it's supposed to do too, but every time I tried it, the whole line would erase. You can download the ROM from MindFlareRetro's video description if you want to give it a try; let me know if you figure it out.
@@8_Bit Tried it out for a while and yep, something seems buggy with that feature. No matter what it always erases the line. Also don't hit F8 without first defining a SYS address with =J or the whole machine will lock up!
@@LeftoverBeefcake Sounds like we have some fixes to do for V4 :)
do you Know About the AVGN ???
Another super informative video, Robin. Thank you for explaining MASTEROM 64 so well. I am glad I asked you to do this MASTEROM deep dive -- there is no one better to analyze and explain this forgotten C64 Kernal replacement both on its surface and under the hood. Well done, as always ... and thank you, 8-Bit Sensei Robin!
Thanks for the invitation, it's been fun working on this with you!
Thank You for shearing your discover :) C64 forever :D
@@painkillergko You are welcome!
I can't "life" without 8-Bit Show and Tell .
ditto
My uncle had a ton of software for the c64 back in the 80's. At that time he gave a bunch of it to me, including a disk copy program that would copy anything. Even the most copy protected game titles were no match. This alone made it so me and my friends could share absolutely everything. Talk about simpler times.... Thanks for yet another interesting c64 video.
That is called a nibbler.
Fast hackem?
I lol’d when you read, verbatim, “can you life without it?”
I’ll take Canadian Commodore History for $400, Alex.
Oh why do I know much more about the C64 now than I did then? It’s thanks to fellow fans like you! 😊
I did most of my basic programming on a c64 and I miss it. It's just not the same using a remake c64. There was just something hypnotic about that blue screen and just being able to start entering a program. I wrote some very large games in the sloppiest code you ever saw and I'd spend hours tracking down bugs but those hours would seem like minutes and entire days would vanish. Those days are gone but I do miss them.
An interesting find. There were a few kernals with similar features in the 64's golden days when the Amiga had already taken over. You can only fit so much into the cassette and some other memory spaces. The best I found so far is the Jiffy/Dolphin-DOS hybrid, that one is a very mature hack.
0:30 Am I the only one who thinks MASTER CONTROL when reading the name?
3:48 I love that you counted the exact number of diff bytes
6:15 Interesting color choices
14:40 Side by side memory listings might be my new favorite nerdy thing
15:58 Pretty clever use of this vector
21:50 Yay the old credits are back!
END OF LINE
Wow, another hidden treasure uncovered - great stuff! 🤯
Your always explaining things so well Robin.
I grew up with an commodore but was to young to grasp the machine programming. I truly enjoy it now being explained.
I am originally dutch but live in Canada now for more than 10 years... and the Bob and Doug reference was nice.
Thanks for all your hard work eh!
I was a huge Jiffy DOS user back in the day, but never knew this existed. Truely an awesome find! 👍
Thank you so much for documenting this stuff, it's so helpful to those of us just getting into commodore computers.
I dunno, I still loved my epyx fastload cartridge. Especially after I put a button on it to do a soft reset so I could go into machine code and change things, then sys the code start address... oh man your videos take me back in time..
The sort of ROM replacement I would have liked to have back then. There's so many possible uses for the cassette routine space and it could be changed without affecting compatibility with anything disk-based.
Nice job Robin, you did it justice.
Thanks, and you did some nice detective work!
Thanks for the presentation, Robin. I'm about to start testing :)
Ok, that was new for me... Until today I didn't know that there were other "kernels" for the C64. THX for the video.
In case you're interested, here's a video I made about all the different official Commodore variations on the KERNAL: th-cam.com/video/If4mcprqBZw/w-d-xo.html
This is so cool! What an amazing research project. Thanks to you both for sharing this with us all. The extra spaces in the version number are triggering my OCD though! I might have to create my own version with a tidier looking opening screen :-)
Great news, Robin!
Wow, thank you very much! Seems to be a interesting Kernal!
1:06 That web page looks familiar…
3:39 I thought Macbeth was dead… and he used a dagger instead of a staff…
6:08 Like the regular Kernal, MASTEROM chose colors with a low contrast difference. Is it wise to change the screen color? How many BASIC programs assume the default screen colors when they start? The best plan would be to use the normal screen colors but with a White cursor, which a lot of people probably activate habitually anyway.
7:39 I remember a hit song about SYS 64738…
11:23 Are you sure you have to add the ,8 on JiffyDOS? It eliminates the cassette routines, too.
17:15 Ha - I figured you'd get trapped in Quote Mode! You could type a second Quote and a Delete.
18:17 The EOR #$01 doesn't save anything over the stateless and more clear LDA #$09. Technically, it does the EOR if the drive ★IS★ equal to 8.
21:23 Oh no, the floating hand is typing telepathically now! I, for one, welcome our new floating-hand overlord.
22:16 There's that hit song!
I finally got trying it on JiffyDOS and you're right, the ,8 isn't needed there either. Interestingly, if you LOAD"$" on JiffyDOS then directory is loaded to $0400 implying that it's doing the equivalent of ,8,1 - I didn't expect that.
@@8_Bit: ,8,1 makes the most sense as a default since many programs are launched that way, and for almost all C64 programs, it's harmless even if it isn't necessary. Did you specifically test if MASTEROM is doing ,8,0?
I just tried and it seems that MASTEROM also does ,8,1 so LOAD"$" will display the directory on screen as it loads to $0400, just like JiffyDOS. I agree it's a sensible default, but it was still a bit of a surprise since the stock KERNAL has LOAD defaulting to ,0
Thanks for sharing this Robin. Really interesting.
Your videos are awesome.
In my country about 10% of C64s had the floppy drive
Norland.. Somebody missed the "B" key right next to "N"
All but one(a game cartridge) of my programs are on tape, so this would be useless to me. You did pre-empt this by mentioning most people here in England would indeed be using tape, though.
Very interesting seeing this stuff, nonetheless.
Funny, I saw the address at the beginning with "Nipissing Rd." and thought - hey I visited North Bay, Lake Nipissing in the summer of 1985 (I'm from the US). Just looked up the address on Maps - nope, not even close to the lake. :-)
I very much enjoy your videos, Robin (sp?).
Yeah, Nipissing is used as a name fairly often in Ontario; I'm not sure if it's all in reference to the lake or if there is another origin to the name. And yes, Robin is the correct spelling, thanks!
I used to own a c64 that had the Cockroach rom kernal replacement installed. No Idea about it specs or abilities but it seemed to be near or fully 100% compatible.
I had a Cockroach back in the day. I had a switch to switch between that and the original ROM.
great little nugget of history. And very informative. Would you ever write your own custom system ROM?
Not to be confused with the MastuROM, keeping you company all those long winter nights.
The F5/F6 functions do work in MASTERAID, the precursor of MASTEROM.
Mindflayer retro released a video!!!!??!!?!? (I guess it's been so long youtube didn't bother to tell me)
I actually did get a notification when his video released! I must be lucky :)
Seems to me like a useful thing. I will definitely give it a try.
I like your channel very much, BTW.
Very interesting video, great watch 😊
16:21 Question - as I understand it, the CMP instruction compares the value against the accumulator contents. How is the keystroke being fed into the accumulator? Is this what the subroutine at $0079 does?
I see you're the lucky owner of Mountie Mick's Deathride! I have been looking for that one for years.
It's a rare one! I gotta ask if you have an original "The Detective"; that's probably #1 on my want list now.
@@8_Bit Sorry, no I don't have that game. Let me know if you're looking for anything else. (Maybe I should make a list of stuff I have...)
@@GerbenWijnja Oh, I was just curious if we were hunting for the same games - not that I would try to take it from you! :)
@@8_Bit Aahh. Well I only collect games that I used to play when I was young. Everything else can go. :) And I like model trains, so I loved Deathride! But yeah it's very rare. I do have an original Deathride disk, but no case... I'm also still looking for Wings of Fury, and Pogo Joe.
@@GerbenWijnja Pogo Joe is great, and it's funny but I never played Wings of Fury! I just watched some gameplay video just now, it looks very interesting. I like how it has a close-up and distant camera, very unusual for 8-bit games.
What a great find, I love it.
How have I lifed my live so long without MASTEROM?
Grate job.
The great course
But I adore my Datassette.
Did you ever do a show on your SDCARD dongle? How about Ultimate IIplus?
Seems a bit memory inefficient with all those LDA/CMP/BNE to implement the new commands. I would have tried to set up some kind of general lookup table with codes to look for and the adress to jump to. Perhaps with a single byte with a bitmap indicating if the lookup is for one of the new command keys or one of the Fn keys. The bitmap could even be used to indicate if the jump adress is absolute or relative.
With such a table in place, the decoding could be done with the Y register indexing the table and 4-5 instructions to LDA/CMP/BNE.
I am not sure how much memory space could be saved (it all depends on how many of those nearly identical sequences of LDA/CMP/BNE/JMP that could be eliminated) but it sure would look much nicer!
No fast disk IO keeps me from wanting to use it full time but the rest is cool.
slippery butterfield! 😅😋
I used the same color scheme when I burned my 64'er ROM from the 64'er Magazine. It looks good on a 14" black-and-white TV which has been converted into a monitor by adding a SVHS luminance input, a 64'er Magazine hardware project. That color scheme is not well suited for color displays, though.
How about a video on Novaload?
Maybe an explanation of why it makes that noise??
I always watch your videos at 1.25x speed.
I like this kernel, but maybe I would have done somethings differently. Something that I discovered with my Amiga and programming that an editor with macro ability was just awesome.
Maybe if you (not specific you but someone) could have done a neat/small RLE (or anything smaller, faster better ofc) compression/decompression built it you could have had en small editor in kernel that would have a macro function (basic record/playback with search and find). It would not be impossible I think and it would have leveraged the C64 so much more... I mean if you don't use cassette (datasette) anymore you would be more "serious" user and then a basic text editor would be nice thing to have.
Maybe have extra features loaded on the disk (which came with the ROM :-) which could turn it into a wordprocessor or IDE for either assembler or C, Pascal, Comal, ADA, Forth and so on and on...
That would have been cool in 1987!
We can call it the Canuck Kernal!
Would have been nice if the COMMODORE C64 had an Assembler like the MEMOTECH MTX512 had that could be accessed by typing ASSEM 10 return to let you write machine code programs.
Hi Robin. Have you ever known of Geckos , a " distro unix" for commodore 64?
Yes, I talk to the author André Fachat sometimes, and saw the presentation Glenn Holmer gave on it at VCFMW a couple years ago. It's really impressive.
You mention MFR's video several times, but there's not actually a link to it in the description 😅
It won't be released until Saturday; check out the bottom paragraph of the Patreon email/post, I explain it there :)
@@8_Bit that explains why I couldn't find it!
Just in case anyone didn't see the link to MFR's video yet, it's now live: th-cam.com/video/Et7ZM9f1mec/w-d-xo.html
How did companies get away with redistributing code that was largely copyrighted by Commodore? Did Commodore freely license the KERNAL for modification and commercial redistribution? I would be shocked if so.
I assume Commodore didn't fight it since it was something their customers wanted and Commodore wasn't providing it themselves, and there was no financial loss to Commodore as their customers had already purchased the original KERNAL legally. Commodore did go after 3rd party disk drive manufacturers that ripped the 1541 ROM code, but in that case, Commodore was losing out on sales of original 1541 drives.
What's that UNIX you were running at 3:40 into the video? In what looks like C or Tenex C shell, no less!
It's actually just MacOS with a custom prompt!
@@8_Bit the Grey background tricked me, I thought that it might be NetBSD.
Hi Robin, is this the same as JiffyDOS?
It's similar in concept, in that it replaces the cassette ROM routines for other features that disk users will find more useful, but the particular features are mostly different, especially the JiffyDOS fast disk load protocol, which is not in MasterROM.
@@8_Bit thank you so much for your help
Is that manual original? That would make it probably the earliest known use of the term dongle
It is the original manual, but the term dongle goes back to at least 1981, for instance: archive.org/details/PersonalComputerWorld1981-10/page/132/mode/2up?q=dongle
Take off eh!
Was this licensed by Commodore? It's clearly not a full reimplementation of whole kernal.
I suppose Commodore saw it as a beneficial change? It's a totally different scenario to the clones of the 1541 drive that bundled the original 1541 code. Commodore saw no benefit from that.
They could rationalize it as the ROM chip being useless without being plugged into a C64, and anyone who bought a C64 has paid Commodore a copyright fee for the ROM they're replacing.
You can't life without it. 😂😂💀
Would you be able to convert this to a crt file and post it? Backbit and Kung Fu Flash support crt files but not bin files. I don't have an EasyFlash.
As far as I know Backbit and Kung Fu Flash don't support the KERNAL replacement feature that EasyFlash 3 has. EF3 does some trickery to switch out the KERNAL ROM in the C64 with a .bin file. Pretty sure a .crt file can't do this.
@@8_Bit I asked Evie and and she said that the Backit Pro with the PLAster V2 will support KERBAL replacement. I have the Backbit Pro, so I am ordering the PLAster V2. Thanks for replying.
=P is an emoticon
◔_◔ is a donger
🤨 is an emoji
try f5 then move the cursor then f6
SO IT'S A DOS WEDGE?
YES IT'S A DOS WEDGE BUT IT ALSO HAS SOME EXTRA FUNCTIONS
GOOD QUESTION. GOOD ANSWER. THANKS.
@@XalphYT I AGREE BUT WHY ARE WE ALL YELLING?
“Can you life without Masterom? Not likely.” lol
Or they could have just used memory banking and have unlimited ROM sizes .
I left a comment on your website but it is awaiting moderation. Please check it out when you get a chance.
Nipissing
"kernel"
KERNAL
What is "KERNAL?""
en.wikipedia.org/wiki/KERNAL
@@Okurka. Weird.
@@b43xoit What's weird?
@@8BitNaptime That they would stick with the misspelling.
@@b43xoit So? They weren't curating the OED.
Do you have Bitcoin on a C64 lol.