Assembly and Basic code together on Commodore 64 | Mikro Assembler

Описание к видео Assembly and Basic code together on Commodore 64 | Mikro Assembler

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
   • Mikro Assembler (sì con la kappa!) / ...  

CRT: https://github.com/wardog1uk/mikro/bl...
CRT(Vice): https://github.com/wardog1uk/mikro/bl...

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:    • Commodore 64 Programming  
🕹️ Commodore 64 Hardware Videos:    • Commodore 64  
🕹️ Commodore 64 Plus/4 Videos:    • Commodore Plus/4  
🕹️ Acorn Electron Videos:    • Acorn Electron  
🕹️ Commodore 64 Games and Demos:    • Retro Games and Demos  
🕹️ The Pong Game Projects:    • The Pong Game Projects  

#retrocomputer #c64 #assembler #8bit #commodore64 #programming #assebmly #basic #code

Комментарии

Информация по комментариям в разработке