{ Main Page } - { Amiga Department } - { Cats } - { Add a Comment }

COMMODORE C128 DEPARTMENT
{ C128 BASIC, C128 Built-In ML Monitor }
{ Assembler & Editor Edass 128 }
Part 00 Part 01 Part 02 Part 03 Part 04 Part 05 Part 06 Part 07
Part 08 Part 09 Part 0A Part 0B Part 0C Part 0D Part 0E Part 0F
Part 10 Part 11 Part 12 Part 13 Part 14 Part 15 Part 16 Part 17
Part 19 Part 1A Part 1B Part 1C Part 1D Part 1E Part 1F Part 20
 

Available Major downloads:

C128 Assembler C128 Emulator Sprite Editor
LADS - Screen 40 Assembler VICE C128 Emulator SPRED64 v.1.43 {Win}
Merlin 128 - Screen 80 Assembler    
 
Edass 128 Editor+Assembler { 40/80 Screen }, { updated on 14.04.2024 } :

UPDATE - 21.04.2024 {Revision A3!}

Completelly switched SFK to assembly!
Check Part Number 02 for detailed infos. Files can be downloaded here {complete download as .7z}
Or individual downloads: ReadMe.txt - SFK21A3.d64 - Edass128_ForSFK21A3.D64

Book German Only - Edass 128- Examples - UserDisk - ShortGuide ENG - SFK Info

Commodore C128 BASIC, ML and Assembler beginner adventures :

Name Files Date Read Source Download
Transactor 1 .txt 08.11.2023 Source 1 2 3  
 
VerifizerTransactor    

 

 

 

 
Of course!
Don't even need to mention it, because everyone immediately knows it (really?)...
Anyway, what we do know are those tiny programs you first typed in to check the bigger listings and avoid error searching...
I thought to bring one of those back to life and add a few lines, just for fun.
It is slower, but with style :-) Note: incl. C64 version (3)
 
 
Name Files Date Read Source Download
Transactor 2 .txt 10.11.2023 Source 1  
 
NewTransactorVerifizer DataError      
 
I don't type all the code out of the magazines nowadays!
Especially not because of the OCR scans. Well that's one part of the story.
The 2nd is that copy/paste out of the OCR magazines isn't always a victory and can cause huge troubles when you have tons of DATA lines with numbers.
That's why this 2nd modification is going towards facing the problem and make my life easier.
This little modification can easily be adapted to any DATA listing and that will save you tons of manual error hunting within DATA numbers (unless the numbers are wrong, but from what i could see, that's not so often the case with OCR)
 
 
Name Files Date Read Source Download
SPRDEF .txt 18.11.2023 Source 1  
 
CharacterEditor_Sprdef CharacterEditor_Sprdef      
 
This one liner will make your life easy going...
...and it's free, fun to use and it'll keep you busy, what else...
5 fora=3584to3605step3:printpeek(a);chr$(20);chr$(44);:next:printchr$(20)
Sure, you can optimize it, if you dare!
In any case, within the next days, you'll find out how to activate your character set. Until then be C128 creative! Update, DeLuxe Version! Check source file!
 
 
Name Files Date Read Source Download
C128 ML Code .txt 14.12.2023 Source 1  
 
CharTransferToRAM CharToRAM      
 
A while ago, last time, we were talking about characters...
...and how to create them using SPRDEF in C128. Here is now a routine in C128 ML code which i wrote today after finally having some spare time. It's easy to understand and really not involving rocket science, tons of pokes, peeks, and's or's and what the hell i know... It'll let you modify and use your own characters in your application. Check Source file for more details...
Start with SYS 3130 from BASIC
{ updated source code on 05.01.2024, small correction. It will run properly now...}
 
 
Name Files Date Read Source Download
Animation .txt 15.12.2023 Source 1  
 
GoAnim GoAnimSPRDEF      
 
This is a nice little ML source code!
Which is demonstrating one way of making a little animation. It can be placed anywhere you want and it's easy to create. Animation was done using SPRDEF, the C128 Sprite editor with usage of my few basic line, available here. Just use two left bytes first and second line. Take hex output lines for BASIC... Since it's an animation, i made 3 (characters) anim for the first line and 3 for the second line.
i copied first anim to sprite 6, second to sprite 7 and third to sprite 8. Since hexoutput is reading only the first sprite, you'll have to copy anim 1 (sprite 6) to sprite 1, end SPRDEF, read data from basic. then go back and do the same with anim 2 and three... Once you have it, it'll take you under a minute to have it done!
i am working with 2x C128 emulator and can then just copy/paste the data.
Now type the code in and you'll see the result. It's worth it for sure!
 
 
Name Source Date Read Source Download
HowToDoAnim .txt 16.12.2023 Source 1  
 
Spr6CharAnim Spr6CharAnim Spr6CharAnimEDASS128 Spr6CharAnim_EDASS128_ReplacedData Spr6CharAnim_NewAnim
 
The above previous instruction wasn't really clear to everyone ...
And that's why i made this little version. It's immediatelly clear { or should be } what it is and it won't get easier than that even if Christmas is knocking on the door. Here you can edit complete animation in one step, 6 characters. First three are animation line 1 and below that, animation line 2.
Under Source included is a small BASIC routine which makes it easy to get the hex values of the animation. You can copy/paste, meaning replace the numbers in the source code of GoAnim.asm in Edass 128 { I'll have the software download ready the next week }.
Until then, you can type the values in using C128 ML Monitor using M command and see the animation already now (find ML Code above this post (or here).
Starting address : m 00bc9 (see previous ML Source code )
Well folks, that's it...
*** Actually, must i mention that you can use this to just create your own character set! ***
 
 
Name Source Date Read Source Download
CBars128 .txt 17.12.2023 Source 1  
 
CBars128 CBars128_Edass128      
 
Alright, alright...
Guilty as charged. I really 'stole' this one from C64 Department, but since I am the owner of it, you can't really call it stealing haha...
It's a small distraction for today. Edass 128 source code and C128 ML code are included.
 
 
Name Source Date Read Source Download
Edass 128 On disk .d64 19.12.2023 Download check above!
 
Edass 128_40 Edass 128_80      
 
As promised a few days ago, Edass 128 is ready to be downloaded.
Note that included examples were wrote by me from scratch and i just started learning assembly language so to say. It's 20MB download because of the included book which is German only because i don't have anything else. Software is only partly German.
Most of it is in English incl. all commands (same within the book).
I am having a lot of fun learning assembly language and that's why i share here what i am learning and hope someone else is going to have fun too.
I made a decision to mainly go with C128 because it was my first Commodore computer and we all know that there is more than enough material for C64 available.
Plus, I am SLOWLY too old for to many construction sites... hahaha! That's a true fact!
Have fun with Edass 128!
Seems like i made a mistake with a last example { corrected, couldn't let it be! }
It's not 2020, it's 2023. 19th of December.
I don't want to upload the whole package again because of this little typo.
If it is bothering you, correct it, save it and it's done { done }
 
 
Name Source Date Read Source Download
ColorTower .txt 26.12.2023 Source 1 2  
 
ColorTower 40CharGraphic Full4025    
 
Does not look as much!
But it is { or can be } actually a very handy tool to create things within assembly, but you can also call it from basic and have game levels created in zero second and then just put them on the screen, very fast.
I am still in a learning and understanding process of assembly language for C128, but i would say that the Edass 128 source code is well commented, even C128 ML version is included which you can use to modify start/end addresses and so be able to make modifications to adapt it to your needs { unless you'll use Edass 128 and then you can do it there }
i have a few idea myself and that will probably be my next project in this learning process.
SYS 3072 or SYS dec("c00")

Important Info : (C128_AssemblyTowerColor.txt)
; deactivate this two for full/screen graphic/colors, 40 characters
; 1st ; jsr screen ;distance
; 2nd ; jsr colmap ;distance to nxt
; or otherwise you might crash your system!

With this done, it's working perfectly! See picture two.If you are already confused.
Under Source 2 is the 40/25 version only ready to be downloaded!
 
 
Name Source Date Read Source Download
MultiColorEDIT .info, .d64 05.01.2023 1 2 MCDone.d64
 
MultiColorDone MultiColor2Done Example2 EditorExample2 MCDoneDisk
 
MultiColorTextGraphic EDITOR { SPRDEF }

It's a long text.
Just click here to read it. {MCTGEditor}

This here is additional info in regard of {MultiColorCharacter} Mode.

 
 
Name Source Date Read Source Download
SPRDEF Info .pdf 10.01.2024 1  
 
C128_SPRiteDEFinition        
 
Since a while it's all about using the, SPRiteDEFinition Editor
A as a Character- or also as a MultiColorCharacter-Editor. I put a little info in regard of the SPRDEF tool together since it is very useful. That being said, i did not use it a lot back in the days because i had no idea that it can be actually used in many ways...
Can't even recall seeing somewhere what it actually can do or better said, what can be done with it....
Hopefully this small information gathering { I took a copy from the book and added a few useful information regarding MultiColorCharacter editing } will be of help.
 
 
Name Source Date Read Source Download
ColorGraphic 1 .txt 13.01.2024 1  
 
Step1 Step2 Step4 Step6 Step8
Step9 Step10 Step11 5Circles CleanLine
CleanLineVert HighRes ByteTrick    
 
C128 Color Graphic { and the $d8 address, plus the values }
I absolutely cannot recall this being that way!? It's a while back, hahaha...but it is how it is.
A clear lines are possible first with step 11 setting.
Looks like High Resolution Graphic of C128 is indeed High Resolution,
but mixed with Low Color Resolution!
According to what i see, 1 color is 8 bytes BIG and not 1 pixel!
First when you don't touch the nearby byte, you can build a clean line.
In other words, for clean straight lines, you need a space of 9 pixels, or one character and change.
Well, i can live with that....
I had to accelerate it 4x { like having a 4MHz CPU }.
The last one took like one week with a normal speed ;-)
Doesn't sound so nice all here...
HOWEVER if you do think a bit further, then you can actually make quite nice pictures.
All you need to do is take care of the big boy nearby and include it in your calculations when you are using drawing commands...
See the last picture as an example.
You can't say it has a limitation of nearby 'enemy' which can disturb your drawing... Nice!
 
 
Name Source Date Read Source Download
ColorGraphic 2 .txt 14.01.2024 1  
 
TheProcess NotImpossible      
 
Commodore C128 Graphic
- not MultiColor Mode
- not imposssible, but possible!
Wanted to see how to access Graphic and Color area of C128 using poke command.
It's obviously working quite well and some fancy things can be achieved, even those you could think it shouldn't be possible, but here we are.
Never say can't be done... Check the 2nd picture.
Place the RND outside the loops if you don't like the color changing effects.
 
 
Name Source Date Read Source Download
ColorGraphic 3 .txt 15.01.2024 1 2  
 
CanBeDonePartIII NiceOneIndeed BigBoyPicture    
 
Part III here from the Graphic Journey C128 { using Basic }
Close to 40 years ago, i probaby didn't think i could create a screen like this for C128.
Source code { C128 Basic } is included...
If you can understand how it is working, very possible nice screens can be created with little to none sweating...
It's adviced to use WARP Mode in VICE emulator because it's taking forever otherwise!
If you have very good eyes, you probably already noticed that the second image is showing 'a guy' with different face expression, e.g. smile, neutral, sad...
It's random, so every picture will have different numbers of a happy, sad and neutral guy.
And C128 is always happy... haha...
Also for this one source code is attached.
I used SPRDEF to create this face { made of 4 characters } or whatever it can be called.
Also from this page with a few Basic lines { Deluxe version } exported the data and i just had to add it into calculation. I am using 4 characters. 2 first line, and 2 second line, then repeating...
3rd picture is a FullScreen, then cropped to fit without the borders.
 
 
Name Source Date Read Source Download
MadCmd .txt 17.01.2024 1  
 
Commands        
 
Commands all totally crazy written but are still working?

Well, that's how it is...!!!
After seeing a basic command Color was still functioning when being written incorrectly, i actually was wondering how forgivable it is.
Obviously, very, because all this examples are working without any issues.
Probably other commands could behave the same?
Feel welcome to try... { because i will, haha... }
It would be interesting to find out why it is so, but that's above my paygrade!

 
 
Name Source Date Read Source Download
MovingRaster .txt 19.01.2024 1  
 
MovingColorBars        
 
Moving Color Raster Bars
Back from C128 BASIC to assembly {ML directly in this case }.
Looks nice and worked immediately, can't ask for more.
If you started fresh with assembly, i bet you'll find this source code interesting { i would }.
It's not complex and interesting to see how it branaches to needed locations and using subroutines { jsr calls }, how address location are checked and branched when the wanted event occurred...
 
>>>> PAGE 01