WinVICE C64 Assembly Language Tips
Visit my forum: http://www.programmermind.com
http://www.programmermind.com
All of my C64 videos can be found grouped together on my website here:
http://www.programmermind.com/C64Tutorial1.html
This video should hopefully get you past the basics of programming in assembly language for the Turbo Assembler emulator. I created a word document to show some of the translations from Basic to Assembly. I know that some of the information is not accurate, but I only had a little time to finish this before the night was over.
However I'm hoping that this will at least get people started in exploring this language further. Remember even if you have an Apple IIc, Tandy, Texas instruments, etc (8 bit processors) most of the assembly is identical. The other thing that you will need to make an adjustment for is to know that each machine has its' own addressing scheme. For example to change the screen color on an Atari 800 computer you would use LDA #2 STA 710. For the Commodore 64c it would be LDA #2 STA 53281. The STA instruction is where the information would change per machine. I don't know what the address mode is for the Apple IIc or other machines, but a quick google search should have a PDF somewhere.
This tutorial teaches how to use LDA, STA, CMP, LDX, DEX, INX, LDY, DEY, BNE, BCC, BCS, BEQ, JMP, JSR, RTS, CPX, STX, DEC, INC, CLC, ADC, SEC, SBC, LSR, ASL, TXA, PHA, TYA, PLA, AND, ORA, EOR, ROR, ROL, .BYTE, HI/LO byte addressing, and more.
Quick breakdown of above instructions:
Accumlator addressing: LDA, STA, STX, STY
IF conditions/branching checks:
CMP, CPX, CPY, BNE, BCC, BCS, BEQ
GOTO/GOSUB branches:
JMP, JSR
Mathematical operands:
CLC, ADC, SEC, SBC, LSR, ASL
Looping through X, Y registers:
LDX, LDY, INX, DEX
Looping through addresses/variables (.BYTE):
INC, DEC
Saving/Retrieving values from the stack:
TXA, PHA, TYA, PLA, PHP (push processor status on stack)
Bit testing:
AND, ORA, EOR, BIT
Rotating bits:
ROR, ROL
Minor correction:
In the video I mentioned that AND is masking against the value 53280. This is incorrect. It actually masks against the memory location value stored in 53280. The same goes for the ORA, ROR, and ROL statements. Hope that didn't throw you off in any way.
My google site that teaches assembly language is here:
https://sites.google.com/site/programmingtutorialsandmore/home
Note: It is Atari focused, but still should clear up other unknown details.
I am planning on writing an ebook for sale called C64 Assembly Language Game Design after I complete these tutorials. Besides I need money now that I'm out of work currently and you will benefit by writing your first realistic C64 game like the pros. My goal will be to hack into games such as Pacman, Donkey Kong, etc to learn some of their styles before approaching this major task.
It will be very organized and planned logically so it may be a month or so before you can find this on my website. Just keep focused on this channel and in time I will deliver it. I'll have to get my own working game before attempting the writing. So that means putting together an assembly program. It will be complete with sprites, character set, raster interrupts, SID sound, animation, and I'll try to throw in some cool graphic art somewhere. One of my larger goals is to master fine pixel scrolling and then I'll consider that a "Mission accomplished".
Download the Word document in this video on my website here:
http://www.programmermind.com/C64Tutorial1.html (on that page just look for the hyperlink that says Download Commodore 64 Learn Assembly Basics).
Please feel free to check out the new Commodore 64 Facebook page. It is my hope to communicate with you live and even in chat when I find time. Let's take this C64 and crossover to the generation that grew up with Xbox's and Play-stations.
http://www.facebook.com/profile.php?id=100005290573380#
Please visit the new page for VICE C64 D64 downloads
http://www.programmermind.com/C64VICEEmulatorDownloads.html
Stay tuned for more C64 stuff. Thanks for watching.
Что делает видео по-настоящему запоминающимся? Наверное, та самая атмосфера, которая заставляет забыть о времени. Когда вы заходите на RUVIDEO, чтобы посмотреть онлайн «WinVICE C64 Assembly Language Tips», вы рассчитываете на нечто большее, чем просто загрузку плеера. И мы это понимаем. Контент такого уровня заслуживает того, чтобы его смотрели в HD 1080, без дрожания картинки и бесконечного буферизации.
Честно говоря, Rutube сегодня — это кладезь уникальных находок, которые часто теряются в общем шуме. Мы же вытаскиваем на поверхность самое интересное. Будь то динамичный экшн, глубокий разбор темы от любимого автора или просто уютное видео для настроения — всё это доступно здесь бесплатно и без лишних формальностей. Никаких «заполните анкету, чтобы продолжить». Только вы, ваш экран и качественный поток.
Если вас зацепило это видео, не забудьте взглянуть на похожие материалы в блоке справа. Мы откалибровали наши алгоритмы так, чтобы они подбирали контент не просто «по тегам», а по настроению и смыслу. Ведь в конечном итоге, онлайн-кинотеатр — это не склад файлов, а место, где каждый вечер можно найти свою историю. Приятного вам отдыха на RUVIDEO!
Видео взято из открытых источников Rutube. Если вы правообладатель, обратитесь к первоисточнику.