Back to Browse

Assembly and Basic code together on Commodore 64 | Mikro Assembler

5.3K views
Jun 6, 2023
29:06

Exploring Mikro Assembler for the Commodore 64 and discovering some hidden options that allow us to merge the assembly with the base code in the same source file. It is weird to see the assembly and basic code together in the same source file but it works really nicely and it does open some crazy possibilities :) Mikro Assembler was released as a cartridge by Supersoft in 1983 and written by Andrew J Trott. Big Thanks to Steve from @8BitRetroReFix channel for shots and images of Mikro Assembler cartridge used in the video. ☕ If You like this video you can buy me a coffee: https://ko-fi.com/josipretrobits ☕ INDEX: ====== 0:00 - Intro 0:37 - History of Mikro Assembler 1:55 - Mikro Assembler User Interface 5:18 - 10Print Assembly Code 8:20 - Link multiple Assembly files 14:30 - Assembly and Basic together in the same source file 22:12 - Compile with autorun assembly code 28:10 - Conclusion (the End) SOURCES: ========= https://github.com/wardog1uk/mikro https://www.andytrott.co.uk/ https://en.wikipedia.org/wiki/Supersoft https://www.youtube.com/watch?v=HlVbvDChXfo CRT: https://github.com/wardog1uk/mikro/blob/main/downloads/cartridges/Mikro%20Assembler.crt CRT(Vice): https://github.com/wardog1uk/mikro/blob/main/downloads/cartridges/Mikro%20Assembler%20%5Bvice%5D.crt CHECK OUT: ========== 8Bit Retro ReFix @8BitRetroReFix Captain Commodore @CaptainCommodore Retro4u @Retro4u YARC - Yet Another Retro Channel @YARC-1981 CODE USED IN VIDEO ================= 10 *=$1000 20 loop eor $d012 30 and #$01 40 adc #$cd 50 jsr $ffd2 60 jmp loop ;comment --- 10 input "10print: (1)compile or (2)run"; d 20 on d goto 30,120 30 print "compiling 10print maze" 40 assemble 50 50 *=$1000 60 loop eor $d012 70 and #$01 80 adc #$cd 90 jsr $ffd2 100 jmp loop 110 end 120 sys4096 --- 2 fori=631to631+7:reada:pokei,a:next:poke198,8 5 assemble 10 10 *=$1000 20 loop eor $d012 30 and #$01 40 adc #$cd 50 jsr $ffd2 60 jmp loop 65 end 70 data 83,89,83,52,48,57,54,13 MIKRO ASSEMBLER =============== Commands -------- ASSEMBLE - start a 3 pass assembly AUTO - auto line numbering for writing code (eg. AUTO 100,10) DELETE - delete blocks of code (eg. DELETE 100-250) DISASSEMBLE - disassemble a block of memory (eg. DISASSEMBLE $9000-$A000) FIND - find matching strings in certain lines (eg. FIND LDA,5000-) FORMAT - format code to make easier reading NUMBER - display a number in hex, binary, octal and decimal (eg. NUMBER $6000) TABLE - display a table of labels used TIM - enter machine code monitor Pseudo-ops ---------- BYT - put 8 bit values in memory (eg. BYT $03,255,'R,$00) LNK - link m/c programs together (eg. LNK "PART TWO",8) OFF - terminate OUT command OUT - output code to printer with device (eg. OUT 4) [screen is 0] TXT - put ASCII in memory (eg. TXT "THIS IS A TEXT STRING") WOR - put 16 bit values in memory using hi/lo (eg. WOR 750, $2345) * - specify start address to compile from (eg. *=$033C) Monitor commands ---------------- D - disassemble G - go execute H - hunt L - load M - memory display R - register display S - save T - transfer X - exit to Basic ------- CHECK OUT MY OTHER COMMODORE/ACORN VIDEOS: 🕹️ Commodore 64 Programming: https://www.youtube.com/playlist?list=PLT0ijfj8mLN7G_Et0DGaVxcVK3N2EpnYk 🕹️ Commodore 64 Hardware Videos: https://www.youtube.com/playlist?list=PLT0ijfj8mLN6JTkWianAanzEgLCaA0zFE 🕹️ Commodore 64 Plus/4 Videos: https://www.youtube.com/playlist?list=PLT0ijfj8mLN7ioE3wBPYsu32V6Vs9goib 🕹️ Acorn Electron Videos: https://www.youtube.com/playlist?list=PLT0ijfj8mLN5n1GNlJPZn3CW7o3hRf7Jv 🕹️ Commodore 64 Games and Demos: https://www.youtube.com/playlist?list=PLT0ijfj8mLN6yuzbYo6MnQifgUEM08t83 🕹️ The Pong Game Projects: https://www.youtube.com/playlist?list=PLT0ijfj8mLN6QqB1wxCWv7ERaw0fo44kB #retrocomputer #c64 #assembler #8bit #commodore64 #programming #assebmly #basic #code

Download

0 formats

No download links available.

Assembly and Basic code together on Commodore 64 | Mikro Assembler | NatokHD