Posts

Showing posts from April, 2017

Learning Assembler on Amiga #6

Image
By users' requests, I built an index page of previous lessons. It’s here. As promised in lesson five, we would have addressed, all puns intended for that lesson, a way of storing and pointing to data in memory. Information in the form of byte, word or long-word can be stored and located using addressing. I made the table below to help you to understand how it works as a refresh of what explained in lesson 5. An offset is a directive that means “addressing”. Just like in a battleship game where using row and column you identify a spot on a grid. An offset lets you pinpoint a place in memory. I made a grid below to help you to grasp the concept. An offset is made of 8 digits, I added the spaces for readability, normally you won’t find any.  The column 0-F is expressed in hexadecimal and therefore they go from 0 to F. I made a few examples below for all data types that we have explored so far.  The dollar sign indicates that the value (after the sign) must be interpreted as a hexade…

Learning Assembler on Amiga #7

Image
By users' requests, I built an index page of previous lessons. It’s here. I took the picture from this robotics blog that I follow. Although it’s not directly linked to a 68K assembler, it is perfect to show all the same elements you will find in a typical assembler source code file. You have commands or more properly directives. Then you have operands that can indicate a source or a destination. Finally, you have labels used to jump among blocks of code and comments indicators Theory The CPU handles everything in binary (bits) of course and we could work in binary too; that is if we want to employ a couple of decades and losing our minds to write down the simplest program that you can think of. So someone smart came up with the idea of using mnemonics (directives) to represents instructions that the CPU would then parse in binary sequence to execute our requests. The number of instructions available is very small compared to modern languages that offer lots of APIs to accomplish…

Commodore Amiga Manuals

archive.org Commodore Amiga Manuals : Free Texts : Download & Streaming : Internet Archive If you are searching for an original manual of the amiga world, this could be your first place where to look. Although the most awesome that I found so far is this one.

Learning Assembler on Amiga #4

Image
In lesson three we configured the system to install some foundational pieces in order to install Asm-One. After you have installed, assuming you install the exact version I linked (1.48 by TSA), you might experience the following weirdness on boot. the issue with that is really easy to fix, once you know where to look. Just hit ignore. The IDE will boot and you will see this screen. Then answer to the two questions as indicated below: Fast
200 It doesn’t really matter, as it is just a way to pass that stage and get to the preferences screen, where the culprit of that error lives. Select the option as shown above and you will see where the logical drive (drawer) that is not found is set up. It is “Default Dir.”. Just place there a valid location and set defaults for the BootUp field. If you are trying to go back using the backspace, that won’t work. If you hold the LEFT CMD button (Amiga key) you will be able to navigate back using the cursor keys. If you want to stay aligned with this…

Learning Assembler on Amiga #3

Image
Today, we’re going to achieve another goal often not that straightforward to reach for the newcomer. There’s plenty of information out there, however, once again it is all sparse and the time required to collect of that knowledge absorb a big chunk that could be left to practice assembler. You are in luck, as I have gone thru that for you. Install Asm-One Installing Asm-One isn’t very tricky however there are a couple of showstoppers that could make it more complicated that it should be. Here is our recipe for success: Download all is required files in one folder (say ~/Downloads)Configure  FS-UAE to allow the various installation(s)Setup Asm-One TheoryCompressed Files Zipped files are compressed files. We’re accustomed seeing files named foobar.zip and realize that it’s an archive. LHA is another format of compressing digital information. It has been wildly popular on Amiga. All files that you find on Aminet, the largest Amiga Software repository, is compressed with LHA. So getting a…

Learning Assembler on Amiga #2

Image
In the previous lesson, I gave you the reasoning of why learning Amiga Assembler these days when clearly there are the far easier way to get the job done across multiple platforms and the bootstrap to setup your OS environment with the FS-UAE emulator. In this lesson, we’re going to pick an assembler to work with. As a great community contributor, Henrik at Coppershare.org properly lists you have several options when it comes to choosing an assembler. Unless you have used something in the past that makes you feel more comfortable with shortcuts and other mechanical details, there isn’t a ton of difference from one or the other My dilemma of which one to pick was between VASM and Asm-One. vasm is a portable and retargetable assembler to create linkable objects in various formats or absolute code. Multiple CPU-, syntax and output-modules can be selected. Many common directives/pseudo-opcodes are supported (depending on the syntax module) as well as CPU-specific extensions. VASM is a pur…

Learning Assembler on Amiga #1

Image
During the time that Amiga was popular both in EU and US, you had one of those gorgeous devices. You had a passion for building your own game, utilities or what else. You went as far as understanding the surroundings of developing for the platform, maybe you even did something cool with AMOS, but you never made it write something of meaningful in assembler. It was mystical, appealing but there was no Internet and information were hard to come by. Nowadays, you know a lot more than back to those times. You have the Internet, you can even emulate all the Commodore platforms but you don’t know where to start. There’s too much to parse and put together, and back then you didn’t have a mortgage, kids, and plenty of distractions beyond yourself. The vibrant desire of getting your “revenge” over your lame inner self still there and that desire of winning over the machine is flaming in you. You are in luck, my man or woman. I am one of those too, and I recently made the Amiga world my hobby.…