- 36
- 255 037
My Developer Thoughts
United States
Приєднався 25 чер 2023
Random thoughts of a middle-aged Software Developer.
Sudoku for the Commodore VIC-20 with CBM .prg Studio in BASIC.
Sudoku for the Commodore VIC-20 with CBM .prg Studio in BASIC.
Source Code, Binaries and solutions to the puzzles
github.com/MyDeveloperThoughts/sudoku_vic20
CBM prg Studio
www.ajordison.co.uk/
VICE Emulator
vice-emu.sourceforge.io/
Timeline:
0:00 Sudoku for the VIC-20
2:59 CBM prg Studio
9:56 Sudoku Source Code Review
10:57 Choice of variable types
13:37 Stroll through the code
14:40 Out of Memory
16:48 Plotting to the screen
19:58 Making the puzzles
22:06 Final notes
23:06 Farewell
Source Code, Binaries and solutions to the puzzles
github.com/MyDeveloperThoughts/sudoku_vic20
CBM prg Studio
www.ajordison.co.uk/
VICE Emulator
vice-emu.sourceforge.io/
Timeline:
0:00 Sudoku for the VIC-20
2:59 CBM prg Studio
9:56 Sudoku Source Code Review
10:57 Choice of variable types
13:37 Stroll through the code
14:40 Out of Memory
16:48 Plotting to the screen
19:58 Making the puzzles
22:06 Final notes
23:06 Farewell
Переглядів: 2 496
Відео
Quick Guide to setting up VICE, TCPSerial and CCGMS to connect to C64 BBSs on Windows 11
Переглядів 739Місяць тому
Quick Guide to setting up VICE, TCPSerial and CCGMS to connect to C64 BBSs on Windows 11. This video introduces a new project that I put together that is the result of forking TCPSer4J making the process of setting up a Modem Emulator on Windows (and other platforms) easy. TCPSerial (Java 21 compatible fork of tcpser4v by Jim Brain) github.com/MyDeveloperThoughts/tcpserial Java Links: adoptium....
C64 White Lightning Part 4 - Compiling Code
Переглядів 8173 місяці тому
C64 White Lightning Part 4 - Compiling Code GitHub Link: github.com/MyDeveloperThoughts/whitelightningc64 0:00 Intro 0:19 Hello Compiled World 1:00 How the Dictionary Works 2:07 Words upon Words 2:48 Redefined Words 4:03 Forgetting Words 5:08 The Interpreted Graphics Program 5:57 Compiling the program 7:42 Running the Compiled Program 8:35 Final Thoughts
C64 White Lightning Part 3 - Intro to HIRES Graphics
Переглядів 1,4 тис.3 місяці тому
White Lightning - 3 - Hires Graphics GitHub Link: github.com/MyDeveloperThoughts/whitelightningc64 0:00 Intro and Hires Mode 1:52 Split Window Mode 2:50 Set the current attribute 5:28 Plot Pixel 6:00 Draw Line 7:21 Polygons 8:31 Triangles 8:50 Circles 9:05 Solid Squares 9:50 Changing Attribute Blocks 11:15 Text 12:45 Putting it into a program 14:15 Closing Thoughts
C64 White Lightning Part 2 - Format the Source Code Disk and using the Editor
Переглядів 6363 місяці тому
White Lightning C64 - The Editor GitHub Link: github.com/MyDeveloperThoughts/whitelightningc64 0:00 Intro 0:22 Special Disk Formatting 2:30 How The Source Disk works 3:24 Preparing Pages 4:15 Adding Lines 6:37 Running the code 7:19 Editing Lines 8:03 Multiple Pages 10:23 Closing Thoughts
Program graphics and sound in FORTH with White Lightning for the Commodore 64 (C64)
Переглядів 3,7 тис.3 місяці тому
Program graphics and sound in FORTH with White Lightning for the C64. GitHub Link: github.com/MyDeveloperThoughts/whitelightningc64 0:00 Intro 1:00 Easter Egg? 1:19 What is being covered 2:22 About the manual 3:16 About FORTH 3:58 Hello World 5:32 Error Messages 6:09 Numbers 7:20 Printing Numbers to the Screen 8:02 Setting Colors 9:00 Constants 9:45 Reading from the Keyboard 11:20 Calling the K...
Learn to program C on your Commodore 64 (C64) with Abacus Super-C.
Переглядів 18 тис.4 місяці тому
Learn to program C on your Commodore 64 (C64) with Abacus Super C. All of the code in this video can be downloaded from this GitHub repo: github.com/MyDeveloperThoughts/AbacusSuperC Abacus Super C Manual in PDF The Manual: archive.org/details/Super-C_1986_Abacus Disk Image for the C128 commodore.software/downloads/download/783-c128-c/16326-super-c-128-v3-02a Disk Image for the c64 commodore.sof...
How to use the 1351 Mouse in your C64 BASIC programs and how to assemble a custom mouse driver.
Переглядів 2,3 тис.4 місяці тому
How to use the 1351 Mouse in your C64 BASIC programs and how to assemble a custom mouse driver. All of the code in this video can be downloaded from this GitHub repo: github.com/MyDeveloperThoughts/1351MouseInBASIC Timeline 0:00 Intro 0:49 What's on the Disk 2:56 Enabling the Mouse 5:17 Load the Pointer Sprite 5:55 Autoloading the driver 7:58 Relocating the Pointer Sprite 10:12 First steps of t...
Let's write a program to load and view KOALA Pad picture files on your C64 using Assembly Language.
Переглядів 3,9 тис.5 місяців тому
Let's write a program to load and view KOALA Pad picture files on your C64 using Assembly Language. GitHub for this video. This repository hosts the D64 Disk images source code and demonstrated in this video. github.com/MyDeveloperThoughts/koalaPicViewer KOALA Pad Images: commodore.software/downloads/download/573-graphics-and-pictures/16340-koala-pictures-1 Laser Genius Assembler: commodore.sof...
Create music and play it in BASIC or Assembly with the Original SID Player from COMPUTE! on the C64
Переглядів 2,7 тис.6 місяців тому
Create music and play it in BASIC or Assembly Language with the Original SID Player from the 1985 book: All About the Commodore 64, Volume 2 by Craig Chamberlain. The d64 disk images of the content covered in this video can be found here: github.com/MyDeveloperThoughts/computesidplayer Archive of the book here: archive.org/details/All_About_the_Commodore_64_Volume_Two_1985_COMPUTE_Publications ...
Complete beginners guide to creating sprites on the Commodore 64 / C64 in BASIC
Переглядів 5 тис.6 місяців тому
Complete beginners guide to creating sprites on the Commodore 64 / C64 in BASIC GitHub - .d64 disk image for Sprite Magic and the BASIC program in this video. github.com/MyDeveloperThoughts/SpritesInBASIC Compute's Gazette with Sprite Magic archive.org/details/1984-08-computegazette Timeline: 0:00 Intro 1:50 Displaying our first sprite. 4:13 A window into zero page 7:31 Creating a sprite shape....
How to lift and use custom chars on the VIC-20,16,64 using RetroDebugger, CBM prg Studio and VICE.
Переглядів 1,6 тис.7 місяців тому
How to lift and use custom chars on the Vic/16/64 using Retro Debugger, CBM prg Studio and VICE. Timeline: 0:00 Intro 0:38 Install VICE 2:23 Install CBM prg Studio 3:!5 Install RetroDebugger 6:50 Quick tour of RetroDebugger 12:09 Lifting a character set 13:19 Import charset into CBM prg Studio 16:20 VIC 20 - Use charset in BASIC 20:34 VIC 20 - Use charset in ASM 25:24 C 16 - Use charset in ASM ...
Use Kick Assembler and Visual Studio Code to write Commodore 64 Assembly Language
Переглядів 16 тис.8 місяців тому
How to setup Kick Assembler and Visual Studio Code to write Commodore 64 Assembly Language on Windows 11. We will install and configure the following software: GIT JAVA Kick Assembler VICE Get a nice PDF of The C64 Programmers Reference Guide Visual Studio Code Then we will take brief tour of creating a simple assembly language program, add it to version control and learn the basics of the VICE...
Let's learn COBOL on the Commodore 128
Переглядів 4,8 тис.8 місяців тому
Let's learn COBOL on the Commodore 128 Timeline: 0:00 Intro 1:00 Getting Started 1:41 80 Columns and New Colors 3:40 Booting up COBOL 4:19 Hello World 5:52 Creating Tab Stops 6:53 Identification Division 7:38 Environment Division 8:52 Data and Procedure Divisions 10:29 Structure of our Program 11:28 Syntax check and run it 12:48 Items (Variables) 18:25 Numeric Edited Items 20:40 Records 22:48 F...
Super Pascal for the Commodore 128
Переглядів 12 тис.9 місяців тому
Super Pascal for the Commodore 128 A Data Becker Product published by Abacus Software 1988 Super Pascal for the Commodore 64 Video: ua-cam.com/video/ysDPMySPeYQ/v-deo.html Manual and Disk Image for the 128 Version commodore.software/downloads/download/211-application-manuals/12228-super-pascal-128-manual commodore.software/downloads/download/99-pascal/12227-super-pascal-128 Timeline: 0:00 Intro...
Super Pascal Compiler and Software Development System for the C64 published by Abacus.
Переглядів 10 тис.9 місяців тому
Super Pascal Compiler and Software Development System for the C64 published by Abacus.
Write C64 GEOS applications with geoProgrammer in 6502 assembly language.
Переглядів 8 тис.Рік тому
Write C64 GEOS applications with geoProgrammer in 6502 assembly language.
GEOS 2.0 C64 - Part 2 - The need for speed
Переглядів 11 тис.Рік тому
GEOS 2.0 C64 - Part 2 - The need for speed
GEOS 2.0 C64 - Part 1 - My journey exploring an amazing 8-bit desktop operating system.
Переглядів 54 тис.Рік тому
GEOS 2.0 C64 - Part 1 - My journey exploring an amazing 8-bit desktop operating system.
Learn 6502 Assembly Language with the Laser Genius Machine Code Development System on a C64.
Переглядів 8 тис.Рік тому
Learn 6502 Assembly Language with the Laser Genius Machine Code Development System on a C64.
Setting up a CMD Hard Drive in a VICE C64 Emulator
Переглядів 3,9 тис.Рік тому
Setting up a CMD Hard Drive in a VICE C64 Emulator
Finished my first game in 6502 assembly language for the C64.
Переглядів 3,2 тис.Рік тому
Finished my first game in 6502 assembly language for the C64.
My first game in 6502 assembly language for the C64 continued.
Переглядів 3,8 тис.Рік тому
My first game in 6502 assembly language for the C64 continued.
My first game in 6502 assembly language for the C64.
Переглядів 11 тис.Рік тому
My first game in 6502 assembly language for the C64.
Learn C64 Assembly Language using the Fast Assembler type-in program from COMPUTE!'s GAZETTE 1986
Переглядів 20 тис.Рік тому
Learn C64 Assembly Language using the Fast Assembler type-in program from COMPUTE!'s GAZETTE 1986
Turbo Macro Pro v1.2 - Getting up and running with an easy to use and powerful C64 assembler.
Переглядів 6 тис.Рік тому
Turbo Macro Pro v1.2 - Getting up and running with an easy to use and powerful C64 assembler.
Writing Commodore 64 Assembly Language....using only BASIC.
Переглядів 7 тис.Рік тому
Writing Commodore 64 Assembly Language....using only BASIC.
Writing 6502 Assembly Language on a Commodore VIC-20 using Label Assembler Development System (LADS)
Переглядів 2 тис.Рік тому
Writing 6502 Assembly Language on a Commodore VIC-20 using Label Assembler Development System (LADS)
Merlin 64 (6502/6510 C64) Assembler Part 2. Converting Dancing Mouse from BASIC to Assembly Language
Переглядів 2,3 тис.Рік тому
Merlin 64 (6502/6510 C64) Assembler Part 2. Converting Dancing Mouse from BASIC to Assembly Language
Thank you for putting in the effort to explain all the build tools in such great detail!
Could you please provide some hints on how to load a FORTH (HES) ROM on VICE for VIC-20?
(I also added this text to the video description) The cartridge ROM and PDF Manual can be found here: www.zimmers.net/anonftp/pub/cbm/vic20/roms/tools/8k/vic-forth-hes-rom.zip How to launch VIC Forth within VICE: File then Attach Cartridge Image Change the dropdown in the bottom right of the dialog from .CRT to *.* Choose the hes-vic-forth.rom file (Single click, dont double click it) Change the cartridge type dropdown to Generic Then click Attach Happy FORTHing!!!
Just curious, but in what step is it compiling the code, when you save it, or when you run it? I saw you run it, and thought I missed something. I learned Cobol in college, in the early '90s. I took a couple courses where we used it, one for JCL, and one for Cobol itself. My memory is in the JCL course, we used VT3270 terminals hooked up to an MVS mainframe. We wrote some Cobol in that. There was one part where we were submitting forms through the terminal. I don't know what that was in connection to, but the reason that stuck with me is when I got on the web, the way we submitted forms through a web browser felt very familiar. It took me back to the forms we submitted through the 3270 terminal. It was the same sort of action. You'd receive a form on the screen. You'd fill it in, then hit a "Send" button on the keyboard, which would send the form to the mainframe, and you'd get a response form back. What we were told was these forms were submitted to the mainframe using emulated punch cards, since the mainframe still expected cards. The response forms may have been emulated cards, as well. What I remember about the Cobol class was we used DOS PCs to edit and compile our programs. The development package we used was made by a company that's still around, as I recall. Though, I forget the name now. I just remember seeing ads for it in the last 10 years. As I remember, it used the Cobol87 standard, at the time. It was a nice environment. It had a competent editor and debugger, and I could understand the error messages. While the syntax and program structure was easy for me to pick up, it was an adjustment getting used to how it did records, because I thought they'd be like Pascal records, where the fields were local to the record type. Not so. They were global. The record structure just existed to group the fields for reads and writes. So, I had to think back to how I programmed in Basic (where all variables were global) to get my bearings on how to name my record fields, so they wouldn't clash with each other.
Any news on Yves Han? That's some genius work.
wow. started watching from the sudoku/cbmprg tut vid and this was amazing. great channel, super duper instructional!
You have a play list with the White Lightning Forth videos, but the list is in reverse order compared to the part numbers, which makes it difficult to play them.
Oo thanks for the heads up. Lemme see if I can fix that up.
For God did not send his Son into the world to condemn the world, but to save the world through him. - John 3:17✝️💖🌏
thanks for this video, man, I realy appreciat. I just need some help with 'Problems', I got 46 following along, but everything works fine, I don't know if that could be an issue in future codes.
I love how this vid happens to contain one the easiest explanations of pointers I’ve seen over the years.
I just learned a function in vice that I haven't considered. I've been jumping into the monitor via snapshot entry. NICE!! Now I can have two windows so I don't lose my place while coding. THANKS A BUNCH!! It's WARNOCK ...and yes, I'm back. LOL
I got the GEOS for my C64 and I thought it was the coolest thing. I did a lot of stuff with it.
@My Developer Thoughts I dunno why, but I'll try to save the custom colors border using the command key+s (<- + s). I only get the message "tmp signature missing". What's the problem?
That happens if you do not do <- + L first. <~L will ask for a filename, type tmp * (There is a space between tmp *). Once that is loaded into memory, <-S will save that image with your color changes to disk. The "tmp signature missing" means that it does not see a copy of tmp in memory to modify.
@@MyDeveloperThoughts Wow! Thank You so much. It's working!
Wow! A lot of information packed into this video. Very well explained. Easier than reading the details in the manual. You clearly explained how to put the parts together. Now if I could find Pascal that would work with a 1581. I have the original binder, disk, and manual.
Robin at 8-bit show and tell on YT swears by turbo macro pro. It's a cart-based assembler with REU support. (ram expander cart) Looks pretty swank
I love his Channel, he has such great content. My personal favorite Assembler on the C64 at the moment is Laser Genius by Ocean. While it doesn't have REU support (or even a full screen editor) - it has the ability to easily move itself around in RAM, and the tools to manipulate memory and load binary data from disk are awesome / as well as the integrated monitor. The Trace Feature is what really sets it apart from TMP. With that said, the full screen editor in TMP is awesome and the REU support is fantastic. The U/I is also way better in TMP. So for me I'm like 52% Laster Genius, 48% TMP. Depends on what I'm working on.
Nice introduction to the Super C Like how you handle a 2 drive system. Ti beats swapping disk with one drive. My1541 drive still works with USB plugin. I looked at structs in the cdemo.c program and its complicated. Can you do a simple struct demo? I can't get the strcpy to work with it, or print out the results. All I get are errors. However, I have Spinnaker's Power C and structs work fine. Perhaps a struct named Book, with Title, Author as type char. Pages as integer, and Price as float. I'm using Vice Emulator to get the speed up benefit. Super C64 V2.02, which I don't have, works with Ramdisk program described in the Transactor. I simply copied the files to Ram disk manually and make a Vice Snapshot. Wayne
Very clear narration, you've done well. By the way, I had one of those monitor cartridges back in the day, convenient actually.
That sprite looks like a blue euterus.
Looking out for more video's!
Thank you , You have made it all seem so easy , all the other CBM prog clips ive seen assume you already use it.
Thanks for this great video!
Glad you liked it!
what's the easiest way to get a program online into Commodore VIC-20?
beautiful video, very interesting, also explained very well
Thank you very much!
That is nuts!
wow, what a great primer on using cbmprogstudio! thanks much!
Thanks! I'm looking forward to exploring CBM prg Studio more in the future
Awesome!
Anyone else remember the weird banding, the background had on a TV back in the 80's?
Yes. It was very annoying. I remember getting a 1702 monitor later on, and the picture was much improved, but it was still kind of there.
i386 is as far back as I care to explore. Videos like these tell me that anything earlier has zero productive value even if nuclear war should wipe out all the new computers. At least Word for Windows was usable.
It's amazing to me how much home computing power had progressed from 1983 to 1993. It's just insane. We went from a typical machine like the C64, Atari, and Apple II at 1mhz to 60mhz Pentium PCs running Windows 3.1 and Microsoft Office 4.0.
This is really good! Waiting for next one!
Coming soon.... I swear!
I've got to agree with other comments on here, I wish I'd know about this back in the day. Your delivery on this subject was excellent, I've learn't so much as I followed along on my vice emulator. I'm now inspired to actually try writting some Assembly code, thank you. More guides please!!!
Thanks!! I'm glad you liked it. I've been quite busy this month, but I do have a couple of new interesting videos coming out soon.
Using the SID Player Editor, I'm receiving an "Illegal Duration Error" when attempting to use eighth notes. It happens if I set the tempo to 160, but doesn't happen if I use a lower tempo like 100 or omit it entirely. Edit: Actually, I found a newer (ml-based) version of Craig Chamberlain's player/editor and the problem seems to be fixed. It's also a LOT faster than the Basic version.
The first editor in BASIC was slowww... and the music player while it worked, had some limitations and bugs (like you pointed out). I had a-lot of fun seeing where it all started. However, as you noticed in the followup book 'Compute's Music System For The Commodore 128 & 64': the new M/L Editor (Like you experienced, easily 10x faster) and enhanced playback routines were much more powerful and (bug free?) Thanks for watching!
I used GEOS a lot for school projects and just for fun when I was young (10-15 yo) but I didn't understand everything. I had seen the colored icons in magazines but I didn't know how to do that. And I never understood where the scrap text icons came from and what they were. And loading took forever with my single 1541-II. Nowadays I also have the full setup with dual drives (incl 1581) and REU. Unfortunately those expansions were 20 years late. 😅
Better late than never! I am still do this day amazed by what GEOS could accomplish on the C64.
Thank you for this very well made and properly explainted walk thru of how to set up in vice. I always wanted to try this. And now I know how :) Thank you.
Hello Mr. Thoughts and since you're not too good to answer back mostly the latest visitors. I had saved, with much effort $300 in 1985 with the notion of purchasing a really fancy muzzle loading two shot smokepole pellet thrower. A visit to Sears close to that fateful Christmas changed my long held plans and dreams when I saw this fancy stacked display, chest high of Commdore 128's. Never got that you know what. Wasn't until later that I owned a couple of C-64s. I never had to fool with the cornbball GEOS....though I knew about it. Eventually I owned two 1571's and when I first hooked up the second drive...boy was that a revelation! I could go on an on....
I have Leo Brodie's hardcopy book of "Starting Forth" just for the love of the language on my bookshelf. It would be one of more influential books in IT, with early demonstration on topics like refactoring, if the language wasn't too much on the fringes.
I've had this as a little kid on ZX Spectrum and had immediately fallen in love with Forth at the time. Though I didn't truly understand and know how to write in it or create it from scratch until years later. It helped me a lot to be a well rounded developer. Still love the language. It's a really magical feature of a language, when you can compile yourself to higher and higher levels of abstraction and still care about efficiency if you want. It's also something I miss with practically all programming languages nowadays that narrow your thought process to be expressed with existing primitives.
Agreed. I only discovered this language within the last year, and I really wish I was aware of it when I was younger. To my knowledge though, White Lightning is the only version of Forth on the Commodore Computers that you can build programs that run on it's own. All of the other versions of FORTH on Commodore that I played with needed the runtime to run your code. Hoping to get more in this series up soon. Been quite busy, but the next few I have in the cooker on Software Sprites and Hardware sprites is really fun.
Your series is really awesome. Thank you to put so much effort in it 😃
Very nice. ran fine on Linux Mint 20.3 Una
You just made my day!! Thanks!
Just a brief remark about parts 1&2 of the series. Did everyone notice the printer drivers list included the HP Laserwriter. Those were a $2-3K at the time, tells you how seriously BS was targeting the hobbyist and professional environment with their products.
👍👍👍👍👍👍🕹🕹🕹🕹🖥🖥🖥
I'll have to get back to the serial routines in durexForth. This is better than the way I was using VICE.
My memory of GEOS is very limited in part because I'd moved on by 1988, This demonstration and particularly the evolution using more hardware resources is fantastic
This is above me. But this video is bookmarked.
I remember writing an internet "browser" complete with links and images on geos. This way years before HTML with all the competing browsers loosing because of hype for mosaic. It's a shame mosaic copied Microsoft hyper text and became standard on the Internet. So many other Internet software did a better job , now we are stuck with the www.
Forty years have passed and I am trying again to get to grips with using this software package. I am actually following this on a new "THEC64". Everything in this video worked fine but when assembling the code with ASSEMBLER64 at time:6:40 instead of "PASS1 PASS2" I got a listing of the code and the next two lines on the screen were all printed with double characters e.g. EERRRROORRSS == 0000000000. I still got a READY. and the next steps running the programme worked fine. Thanks for making the videos. Very useful and easy to follow.
I learned about this from @"8-Bit Show And Tell". This is a snippet to setup NMI (non-maskable interrupt) so that when you hit the RESTORE key you end up back in TMP, source in tact. Even after a soft reset of course. ``` TMP = $8000 ;POINT NMI TO TMP LDA #<TMP STA $0318 LDA #>TMP STA $0319 ``` Just put it at the top of your executable code. Remember to remove before shipping ... note the .if family of directives to do conditional assembly might be useful here. That is it! Enjoy.
Very, very well explained. Interestingly, this is exactly how things were done in the very early days of computing. Every CPU ever made always had (and will have) a mnemonic (human-readable text) version of every instruction/opcode (and variant) of the instruction set - purely because writing in machine code (numbers only) was never done (except as an academic exercise), for obvious reasons. The total number of mnemonic instructions then comprised that CPU's 'assembly language'. Programs would be written in assembly and the numeric version of each instruction/opcode (and operand if applicable) would be hand written against this. The operator would then enter in the numeric version to load the program - exactly what you see here. The BASIC loader program in this video then does the same thing as the early operators, poking each opcode/operand into memory.
I wanted to check if emulating HD for C64 is even possible and I ran into this ABSOLUTE GEM of a channel. Thank you so much for all the videos!
This highlights the stark limitations of the C64. I still have my childhood C64, but using it for anything “serious” really is frustrating, whereas using an Amiga is much more like using any modern machine when it comes to being able to multitask and arguably much better when it comes to developing in C.
Iused to have Lazer Basic by Oasis software. I never managed to understand it or use it,. Any chance of walking us through Lazer Basic when you complete this series?
Thanks for such a thorough series! You make things very easy to follow.
COBOL, what an awful language. I would have been reaching for C or Pascal or even Forth given the hardware options - but it is cool to see how they ported great evil to the system so people could play IBM mainframe at home.