Thanks for the tutorial! Another way to perform the BASIC conversion would be to add the following three lines to the end of the program to be updated (assuming the highest line number is less than 1000), then type RUN 1000, then delete these three lines... 1000 forx=2053topeek(46)*256+peek(45)-3 1010 ifpeek(x)=143andpeek(x+1)=32andpeek(x+2)=32thenpokex+2,18 1020 next It will only reverse REM statements with two spaces after the token, so there's no need to worry about inadvertently overwriting code in cases where there is only a single space after REM.
Why didn't I think of that? Such a simple solution I didn't see it. I added a few lines of code to the ML version to check for two spaces after the REM. iny lda (bptr),y cmp #$20 bne next iny lda (bptr),y cmp #$20 bne next
@@retrooldguy9880 To be fair, it's kind of a "brute force" method that doesn't take into account the possibility of three consecutive bytes that fit the pattern that you might not want to update... but I think the chances of that are probably pretty remote. Thanks for the updated assembly code - I inserted the eight additional lines of code you provided and it works like a charm!
Will you please do us all a favor for future videos by not letting your audio get compressed nearly as much? I can hear that overcompression "sizzle" and it drives me nuts.
When you are typing in the editor, pressing CTRL-9 (in non-quote mode) will turn on RVS, but it's a cosmetic effect only, no RVS token is stored in memory, which is why you have to enter it manually (or programmatically, as I did).
Thanks! I use an HDMI capture device called MiraBox on both a "TheC64 Maxi" and VICE (running on my laptop). I don't have a real C64 anymore, they are too high maintenance ;)
Great video. Thank you.
Very interesting, thanks for sharing!
Thanks for the tutorial! Another way to perform the BASIC conversion would be to add the following three lines to the end of the program to be updated (assuming the highest line number is less than 1000), then type RUN 1000, then delete these three lines...
1000 forx=2053topeek(46)*256+peek(45)-3
1010 ifpeek(x)=143andpeek(x+1)=32andpeek(x+2)=32thenpokex+2,18
1020 next
It will only reverse REM statements with two spaces after the token, so there's no need to worry about inadvertently overwriting code in cases where there is only a single space after REM.
Why didn't I think of that? Such a simple solution I didn't see it. I added a few lines of code to the ML version to check for two spaces after the REM.
iny
lda (bptr),y
cmp #$20
bne next
iny
lda (bptr),y
cmp #$20
bne next
@@retrooldguy9880 To be fair, it's kind of a "brute force" method that doesn't take into account the possibility of three consecutive bytes that fit the pattern that you might not want to update... but I think the chances of that are probably pretty remote.
Thanks for the updated assembly code - I inserted the eight additional lines of code you provided and it works like a charm!
Really interesting - THX!
Very useful piece of code, Thank You :)
Thanks for watching
Interesting video; thanks!
Will you please do us all a favor for future videos by not letting your audio get compressed nearly as much? I can hear that overcompression "sizzle" and it drives me nuts.
Elephant in the room: Before this, we might think that just setting "rvs_on" while typing the rem would work. Why doesn't it?
When you are typing in the editor, pressing CTRL-9 (in non-quote mode) will turn on RVS, but it's a cosmetic effect only, no RVS token is stored in memory, which is why you have to enter it manually (or programmatically, as I did).
@@retrooldguy9880: OK, that's interesting, thanks! You know, I bet ya many kids tried that and wondered why it wouldn't work.
May I ask how you captured your video from the C64? It looks great!
Thanks! I use an HDMI capture device called MiraBox on both a "TheC64 Maxi" and VICE (running on my laptop). I don't have a real C64 anymore, they are too high maintenance ;)
"Strings and characters"? Strings _are_ characters (one or a group)."
I bet the BASIC version of this took 76 seconds to run even if they _don't_ remember it.