No video

Supermon+64 Demo

  Рет қаралды 5,227

J.B. Langston

J.B. Langston

Күн бұрын

A quick demo of using Supermon+64 by Jim Butterfield. It is a machine language monitor for Commodore 64. Binaries and fully commented source code available here: github.com/jbl...

Пікірлер: 22
@andlabs
@andlabs 4 жыл бұрын
I'm pretty sure why the BASIC screen cleared after you restarted the machine and performed the SYS command is because by saving up to 033C *exclusive*, you omitted the RTS instruction, so it started executing garbage (likely the BRK instruction). I could be wrong, though; I have only ever saved from a monitor once, and it was from the Super Snapshot monitor.
@jblangston3
@jblangston3 4 жыл бұрын
Yes that’s correct. I added an annotation to that effect to the video but I think KZfaq has since deprecated them and am not sure it shows up anymore.
@andlabs
@andlabs 4 жыл бұрын
@@jblangston3 The joys of feature deprecation :D
@mnemonic6502
@mnemonic6502 6 жыл бұрын
Absolute legend! Thanks for putting the effort into finding and putting this invaluable bit of code on GitHub. Especially grateful for the usage README, so hard to find historic docs that make much sense regarding the monitor (besides JBs seminal ML text)
@aquiderossi7366
@aquiderossi7366 7 жыл бұрын
Nice overview. Add in the T (transfer aka "copy") and F (fill) commands (I think that's what they are) and you have all the important stuff. One thing I missed back when I used this (or maybe did know and just forgot since) is the J command, which from the look of things JSRs rather than JMPs to the address you give. (I see this eliminates the need to temporarily replace RTS with BRK for routines you intend to SYS to from BASIC, which you'd need to do for the usual G (go) command to work correctly.) One thing I recommend to those who use this (if this works the same as the version I've used) is immediately after first running it, exit back to BASIC and enter NEW to delete the installer. That way if you inadvertently use RUN instead of SYS to restart it, you won't install additional copies and waste memory. This looks like the version I've used, which installs bound to the top of the section of memory BASIC is allowed to use, and moves the top-of-BASIC pointer to just below.
@jblangston3
@jblangston3 7 жыл бұрын
Yes, I was doing this on the spur of the moment and didn't plan it out very well so I missed a few commands I should have covered. That's also why I messed up saving the last byte of my program. But I'm glad you found it interesting anyway. Also, if you haven't already, check out my github repo (linked in the description), where I have the original source that I fully commented. It's really interesting all the tricks that were used to save bytes or even bits of memory.
@hexasniper1611
@hexasniper1611 2 жыл бұрын
mate can't thank you enough for this, don't know how long I had been trying to figure out how to get the machine language monitor working, thank you for this video, and for the additional commands as well
@sandcat-maurice
@sandcat-maurice 8 ай бұрын
This is great, thanks a lot for the effort you put into this Monitor and for adding the improvements along the way! I'm 40 years late to this party, but here I am: running the C64 core on my new MEGA65, started up SuperMon+64, and with my printed and spiral bound ML for CBM by Jim Butterfield working my way through learning some ML. Something that I did not understood back in the days.
@jblangston3
@jblangston3 8 ай бұрын
That’s cool and I’m glad the video and repo was helpful. After dabbling in 6502 for a while I went off in a different direction and learned Z80, and also designed my own hardware around it. I do have a lot of 6502 hardware though (Apple IIe, Original C64, Ultimate64) so maybe I will get back to it someday. How do you like your Mega65?
@sandcat-maurice
@sandcat-maurice 8 ай бұрын
@@jblangston3 My MEGA65? Love it! Having a brand new 8-bit that is essentially a greatly improved and enhanced C65 combined with the flexibility to add multiple cores (I only installed a C64 core so far) gives best of both worlds: all the new C65/MEGA65 features (BASIC10/65, fast processor, VIC4, multiple SID's) and the huge books/software library of the C64. Also nice to play around with IEC devices like the SD2IEC that I have connected to my MEGA65. My intention is not to keep on using the MEGA65 as a C64 replacement, but it's great to have this huge library and channels like yours to learn about the CBM machines. And when I learned "enough" about the C64, I will start exploring the MEGA65 capabilities. For the coming few decades enough to learn.
@jblangston3
@jblangston3 8 ай бұрын
That’s cool… it looks tempting but I have way too many computer projects right now. I just bought an AgonLight and I’m also designing a new version of my z80ctrl board as well as beta testing an FPGA video board my friend is developing for the Apple II. I have an Ultimate64 for my C64 retro needs as well as a real PAL C64 with a 1541 Ultimate. So I will probably wait but I will be following the ecosystem with interest.
@ludeksmetana8696
@ludeksmetana8696 7 ай бұрын
Thank you for this video, it's very helpful :)
@0deer0se
@0deer0se 5 жыл бұрын
Fantastic program. Thanks for sharing and showing it!
@joerinaldi5
@joerinaldi5 2 жыл бұрын
Great video and greate program I can finally start doing ML on my C64 mini (it really does work)...thanks
@JesusisJesus
@JesusisJesus 2 жыл бұрын
The JB is just a coincidence that Jim Butterfield wrote the machine language monitor.
@LearnAgon
@LearnAgon Ай бұрын
Very very nice 🎉
@ericjumpelfeaturingjohnnyj4135
@ericjumpelfeaturingjohnnyj4135 2 жыл бұрын
I just spent what feels like hours trying to load SUPERMON+64 into a real (not VICE) Commodore 64. I bought a datassette 1530 from eBay and a cassette adapter to 3.5mm headphone jack, converted the binaries to a wav file that could be played on my phone. I first tried it as an mp3 and got absolutely nowhere--even at a 320 bit rate. Then tried just a straight WAV file and later inverting the wav file (because I saw somewhere that might be a problem). Finally tried flipping the cassette adapter over in the player (to play in the direction it wasn't designed to) and after two or three more attempts, it loaded successfully. Can't remember if the wav file was also inverted or not when it loaded. I would now like to save the program to disk to avoid that headache again. All I know about saving programs to disk on the C64 is saving BASIC programs. How can I use the monitor to save itself onto a floppy? I'm assuming it will be a PRG file that I can execute later. Thanks in advance! -JEJ
@ericjumpelfeaturingjohnnyj4135
@ericjumpelfeaturingjohnnyj4135 2 жыл бұрын
11 hours after the question, I figure it out. I just needed to save it as you would any BASIC program. In my case: SAVE"@0:SUPERMON+64",8 at the READY prompt. "@0:" to overwrite all the other attempts on the disk that didn't work. 🙄
@jphillq
@jphillq 3 жыл бұрын
In the relocator, what logic went into using $36 as a sentinel value? It seems to be a legal opcode for indexed/zero-page ROL instruction. Is the idea to just avoid using any instructions or data that produce $36 inside supermon? I don't see any reason why we couldn't corrupt the program otherwise. I'm new to 6502 assembly so I'm probably missing something.
@jblangston3
@jblangston3 3 жыл бұрын
Jim Butterfield chose $36 as the sentinel value in his relocator code, so I just wrote my python program to use the same value he was using. I guess since he knew he was never using this instruction in the code, he decided it was safe to use $36. He wasn't writing a general relocator, just something simple that would work for this specific program.
@JesusisJesus
@JesusisJesus 2 жыл бұрын
Thats what it cost commodore to make each one….
@jamessm4401
@jamessm4401 2 жыл бұрын
Not to be confused with spodermon 64.
Commodore 64: Opening The Borders (Type-In From Zzap!64 Magazine)
28:13
8-Bit Show And Tell
Рет қаралды 32 М.
Gli occhiali da sole non mi hanno coperto! 😎
00:13
Senza Limiti
Рет қаралды 22 МЛН
АЗАРТНИК 4 |СЕЗОН 1 Серия
40:47
Inter Production
Рет қаралды 524 М.
这三姐弟太会藏了!#小丑#天使#路飞#家庭#搞笑
00:24
家庭搞笑日记
Рет қаралды 101 МЛН
طردت النملة من المنزل😡 ماذا فعل؟🥲
00:25
Cool Tool SHORTS Arabic
Рет қаралды 24 МЛН
Book Club: Commodore 64 Programmer's Reference Guide
40:16
8-Bit Show And Tell
Рет қаралды 18 М.
28c3: Behind the scenes of a C64 demo
1:03:13
28c3
Рет қаралды 70 М.
What happens if you connect Windows XP to the Internet in 2024?
20:35
z80ctrl Board for RC2014
13:09
J.B. Langston
Рет қаралды 3,5 М.
"Hello World" on Commodore 64 in Assembly Language, Machine Code
33:39
8-Bit Show And Tell
Рет қаралды 50 М.
Jim Butterfield Commodore 64 Training Tape - FULL Length C64
1:56:23
Programming in the 80s - Machine Code Monitor (C64)
7:45
Starred MediaSoft
Рет қаралды 884
Jim Butterfield's Machine Language for the Commodore 64, 128.. Revised
38:34
8-Bit Show And Tell
Рет қаралды 20 М.
All the Commodore 64 KERNAL Revisions: Bugs, Fixes, and More!
29:39
8-Bit Show And Tell
Рет қаралды 46 М.
Gli occhiali da sole non mi hanno coperto! 😎
00:13
Senza Limiti
Рет қаралды 22 МЛН