www.antiaction.com / amiga / karma(Last updated: 17 jun 2001)

Karma

Karma is a library based ide macro-assembler for the Amiga computer written entirely in assembler.

License:

"I'm too stupid to understand the amiga is dead, but if you resource this I will hunt you down and kill you"-ware!
I suppose this project will be opensourced at some point, if anything to show you how a brilliant mind can maintain 70000 lines of sourcecode in one single file.

Download:

AsmOneTNG033.LhA
AsmOneTNG033.Readme
screengrab-karma1.gif

Intro:

I started programming assembler on amiga in the now antique Seka V1.5 and V2.1. Seka had some problems for example its slow editor, missing requesters and no incbin command.

Seka was updated around 1989-90 by Rune Gram-Madsen aka Promax/Kefrens resulting in Seka V3.0 and V3.2. But Promax was not satisfied with Seka and started working on his own assembler which resulted in Asm-One V1.00 and V1.01 in around 1991. Some time after the completion of Asm-One Promax sold his A2000 and thus the fate of Asm-One was uncertain.

In time several people saw fit to resource and rape Asm-One resulting in Asm-One1.50, Asm-OneV100, Trash'm-One, TFA Asm-One and more recently Asm-Pro.

Even though Trash'm-One V1.x versions were based on a resource this did not hinder Deftronic/Crionics to add some nice features which made Asm-One even better. By the time Trash'm-One V2.0 was released Promax had decided to give the source to some friends and the new version of Trash'm-One was indeed based on the real source. By this time those hard working guys in Crionics were involved in game coding and therefor Trash'm-One never saw a cpu upgrade beyond 68010. (I used most of the versions up to V1.7.)

Asm-Pro has one nice feature which is its ability to work on a gfxcard.

Asm-One V100/Asm-Two V3.0 versions were done by Detron/Kefrens. He upgraded the original Asm-One V1.02 into viable versions for KS2/KS3 with his many enhancements. AFAIK these versions were not made widely public. Detron did not attempt to upgrade the assembler into 680x0 because he was well aware of the problems involved. Instead he was working on his own assembler but has since then turned to the dark side and has mostly been coding for pc that capitalist pig. :)

This brings us up to the actually purpose of the content on this page. As you may have noticed I also made a non-system debugger which is also to be found on this site. During the development of this debugger I made three different versions of my 680x0 dis/assembler finally resulting in a 99.999% accurate 680x0 line dis/assembler. So basicly I decided I would just do my own assembler instead of actually coding something useful.

At one time this assembler was called Asm-OneTNG but I decided against it since the name Asm-One has already been violated sufficiently.

On a short note I could always just have used Devpac, Barfly or Phxass, but this would just be too easy.

One of the goals of this project is to end up with an assembler that would ressemble what Promax might have envisioned had he made Asm-One today.

NB: This assembler is NOT in any way shape or form based on any existing original or reverse engineered source for an assembler. Nor are any other parts of the program.

Current development:

The main archive contains a detailed history of all changes made.

The current version of Karma is assembled using AsmPro1.15 mainly because the version of AsmOne Blackhawk and I updated does not work with GfxCard, and I only have VGA. (It wasn't released either since it was based on the original source for AsmV100)

Special care is also taken to make this assembler usable as a Cross-Assembler for as many platforms as possible. (C64...)

Requirements:

Features included:

CPU Libraries operational: CPU Libraries under development: CPU Libraries pending development: Features under implementation/planned:

Feel free to email me any ideas you may have.
Betatesters also needed at some point!

email: Nicholas G. Clarke

Please note that older versions were quite unstable especially under KS3.1.
These problems should be fixed in the recent versions.
Now most of the unstability is found in the gui library used. (uims.library)