Opis filmu
The first steps from getting an Amiga or emulator to run an Assembler, to something that moves on the screen :) If you don't have an assembler, you can get Asm-One 1.02+ from coppershade.org, or for example Asm-One 1.20 by googling. (There are other versions, but these are used in the tutorials.) Books on this subject: The Asm-One 1.02 Manual and the Amiga System Programmer's Guide - it seems someone has uploaded PDF versions already, on archive.org. Or eab.abime.net's file server, and probably more places. May the source be with you! /Photon
The first steps from getting an Amiga or emulator to run an Assembler, to something that moves on the screen :)
May the source be with you! /Photon
The first steps from getting an Amiga or emulator to run an Assembler, to something that moves on the screen :)
May the source be with you! /Photon
Tried another codec and it turned out to be horrible, sorry about the glitches.
The first steps from getting an Amiga or emulator to run an Assembler, to something that moves on the screen :)
May the source be with you! /Photon
Sorry about the goof at 18:28, this is all straight from memory and I don't write startup routines from scratch... er... as often as I should...? :)
The first steps from getting an Amiga or emulator to run an Assembler, to something that moves on the screen :)
May the source be with you! /Photon
The same moving rasterline by modifying a running copperlist, removing the CPU busy-waits and an introduction to the Wait and Move copper instructions.
Explains a little bit about labels, chip memory and fast memory, how to examine the data in memory and how your instructions become a binary program. Also explains the difference between color-coding and coder colors. :P
Explains how the bitplane DMA works and how to set up and display a 1 bitplane screen buffer with the copper.
This was recorded late on a Saturday night, so I'm sorry if I sound intoxicated :)
This episode shows how to set and restore DMA correctly, and how to create a sprite and move it. It also touches on how bitplane data is combined to look up a palette color.
About 22:00 in, you can't really see the red dot test sprite because of the codec fighting the random bitplane background, but I hope the narration makes it clear what is going on on the screen.
If you just want to follow the reasoning, download the source here: http://coppershade.org/asmskool/Tut9.S
This part hopes to give a general outline to getting started drawing graphics in DPaint, and shows how to convert the picture to bitmap format for use in our demo.
Again with the recording while drunk and tired... I was tuning in to Scenesat sending live from Bit Live with famous C64 musicians: Gray, Daglish, Galways, Whittaker, Tel... my schedule got a bit, hm, erratic with such distractions :) And wouldn't you know it, I filled up my harddisk recording, so I had to re-record parts late in the night. I hope the general meaning gets across despite this.
I don't care who you are or what you do - if you haven't yet - try DPaint, it's lovely, you're missing out :)
How to incorporate your Deluxe Paint graphics in your demo and display them correctly.
Also explains what's going on when the Copper tells Denise where to go and what to do, and some adjustments of the layout of our demo to prepare for the next part, preliminary title: "Doing something interesting". :)
We make our demo a bit more system friendly using SECTIONs and stack to preserve registers and give our a code better structure. Also explains a little bit more about how things are stored in memory and especially bitmap data. And our happy sprite is back! :)
Errata: $dff007 is the low byte of VHPOSR, not "the clock register".
Your first blit! This episode gives an overview of the Blitter coprocessor and shows how to set up a simple blitter operation (a "blit') and start it. You can join in at any step - go to coppershade.org to get the tools you need and click on Project Directory to load the appropriate source used in a tutorial.
Getting Blitter nasty! Well, not very. But I show how to make a slightly more involved setup of the Blitter to copy-and-shift, a precursor to our scroll routine, and how to calculate the minterm for any blit you might need.
Also introduces base registers as a way to optimize the code and make the source easier to read.
How to scroll a bitmap area using the Blitter chip. Also: how to calculate minterms for OR and cookie-cut blits. *IMPORTANT!* Part 16-18 have been rinsed of any faint offending audio fragments and moved to here: https://www.youtube.com/watch?v=hyz_eF6vyE0
With too much talk about details as usual! :) I sort of catch myself thinking "is what I say complete and true" as I speak. You can indeed scroll leftward using ascending mode, and I should have shown you why $fca is indeed a correct control word for bob, mask, and screen in channels A, B, and C.
Note: There is a drawback to using ascending mode for scrolling, namely that you write to a word *outside* the blitter rectangle. If you are aware of this and it doesn't matter (it doesn't overwrite any data, or it's OK to overwrite because it's not visible), everything's fine - but if you forget it when you make changes later you can have a hard-to-find bug on your hands.
The reason for channel selector mask $3, $5, and $7 being less efficient is that they cause gaps in the Blitter pipeline's cycle sequence.
You can jump in at any tutorial - go to coppershade.org for resources and sources.
Let's draw a font for our scroll in Deluxe Paint! This part starts by me explaining how I plan to do the font, then I draw a miniature version of the font, scale it up and do the details including some antialiasing. (Update: I used the edit-bots to remove any offending faint background music, so I hope it's okay now.)
This part finishes the full size version of the font, 32x20px, 8 colors. (Update: I used the edit-bots to remove any offending faint background music, so I hope it's okay now.)
The final part, adding highlights to the characters. Basically you can watch the start and then skip to the end, the rest is just, well the same work over and over. :) (Update: I used the edit-bots to remove any offending faint background music, so I hope it's okay now.)
Generally how to think about delivering what you've created to the one who wants to make something impressive with limited amounts of chip memory. NOTE: If any of the tutorials 16-18 were blocked in your country, try these links instead:
https://www.youtube.com/watch?v=hyz_eF6vyE0
https://www.youtube.com/watch?v=V_8DYDFE1IU
https://www.youtube.com/watch?v=o-BF_u1HrY0
Coppershade.org has been updated with font files and sources in the project directory and a link to the DPaint manual, if you want to learn more than I show in these tutorials.
We import a font into the demo, set up the screen buffer depth to match the font, plot a character, and set the screen buffer palette to the font palette.