Here I present some Atari BASIC utilities, which can be maybe of some use for you. They are collected from Moj Mikro magazine from the year of 1988. Author of these utilities is Zlatko Bleha.

File available to download is below this article. It is zipped file, containing ATR disk image file with Atari DOS system for usage with real Atari hardware with disk drive or any Atari 8-bit emulator. Files on disk are Atari BASIC listings. The assembly language listings of routines used in main programs are available in specially referenced links to articles from Moj Mikro magazines, found here. To load programs properly, Atari must be powered with Atari BASIC switched on.
Renumber
Moj Mikro magazine: year 1988, no. 5, page 25 - 26
Author: Zlatko Bleha
Atari BASIC program on disk (listed): M8805252.LST
Description
This utility can help you renumber the lines of your Atari BASIC program. Just enter starting line and step between lines. Caution! The program will not renumber values in GOTO and GOSUB commands.
Usage
First, load a program of your choice from disk:
Example:
LOAD "D:PRG1.BAS"
After your program is loaded, enter Renumber utility:
ENTER "D:M8805252.LST"
Be careful that the lines in your main program do not collide with the ones in Renumber utility, because those lines would be overwritten. When utility is entered, type RUN. Program will offer you starting line and step between lines for renumbered program. When the renumber process is finished, program will ask you if it should be deleted from memory. If so, just renumbered program will remain in memory. If you decide not to delete Renumber program from memory, you can run it again by typing GOTO 32761.

Converting memory to data tables
Moj Mikro magazine: year 1988, no. 5, page 25 - 26
Author: Zlatko Bleha
Atari BASIC program on disk (tokenized): M8805251.BAS
Description
This utility helps you create DATA lines from memory of your computer. Memory processed is for example machine language routine or even a program, stored in memory. Resulting listings can be used for publishing in magazines or newspapers, in your own programs or for pure fun of it.
Usage
Load the program from disk:
LOAD "D:M8805251.BAS"
When program is loaded, type RUN. Program asks you to enter starting address, from which you will start reading memory. Next, program asks you to enter end address, from which it will read memory. Next, enter first line of resulting Atari BASIC listing. Finally, enter the step between lines. After converting process it will ask you if it should be deleted from memory. If so, resulting DATA line listing will remain in memory for later usage and saving. Otherwise, you can process another block of memory by typing RUN.
This utility can convert 8K memory at once. After running, it checks itself for errors and does not start until all parameters are entered correctly. Each created DATA line consists of checksum number, which can be used for additional checking after re-typing DATA line.

Moving Cursor With Joystick
Moj Mikro magazine: year 1988, no. 6, page 42 - 45
Author: Zlatko Bleha
Atari BASIC program on disk (tokenized): M8806421.BAS
Moj Mikro magazine article: 1, 2, 3
Description
Did you ever want to move screen cursor with joystick? Or it was very disturbing for you to pressing Control key and using arrow key to move cursor on the screen? With this routine you can use joystick to move cursor. Just move joystick in one of standard four ways and cursor will go to that destination.
Usage
Load the program from disk:
LOAD "D:M8806421.BAS"
When program is loaded, type RUN. Machine language routine is loaded in display list interrupt (DLI). Low byte of starting address of our routine is written in memory address 512 and high byte in memory address 513. In memory address 54286 we put value 192. Next, in memory address PEEK(560)+PEEK(561)*256+6 we put value 130 and program is properly initialized. Program is using memory address 764. When we put code of any character to this location, that character is immediately shown on the screen. Also cursor key codes are used this way.
The speed of moving the cursor is controlled by memory address 1612. Lower the value, faster the cursor is moved. Higher the value, slower the cursor is moved.
An example:
POKE 1612,4
A value of 4 is default value.
Because the routine resides in DLI, every GRAPHICS command or reseting the computer will stop the program. To run it again, you must use the POKE procedure described above. It's good practice to put it in last Atari BASIC line 32767. Then, when you need the routine, just type GOTO 32767.
Assembly language routine listing used in main program is here.
Block Move
Moj Mikro magazine: year 1988, no. 6, page 42 - 45
Author: Zlatko Bleha
Atari BASIC program on disk (tokenized): M8806423.BAS
Moj Mikro magazine article: 1, 2, 3
Description
This short routine is useful for copying block of memory from one address to another. It's main feature is its speed. Because it's written in machine language, copying data from one place to another happens instantly. This routine could be used, for example, for copying character set from ROM to RAM, without the need of BASIC program, which would copy characters very slowly.
Usage
Load the program from disk:
LOAD "D:M8806423.BAS"
The routine is used in Atari BASIC with USR command. The usage and parameters are:
A=USR(1600,X,Y,Z)
X - Starting address of source memory location
Y - Starting address of target memory location
Z - Length of block of memory which we are copying
Example:
A=USR(1600,30000,30128,128)
The routine can be used whenever you want. Just run the program once (load machine language routine from DATA lines to memory) and use USR command described above.
Assembly language routine listing used in main program is here.
Greetings,
Gury
Attached Files
Edited by Gury, Thu Jan 14, 2010 6:56 PM.















