Changes

Jump to: navigation, search

Caruh

1,927 bytes added, 14:28, 1 November 2023
/* .www. - Hotkey: w or W - Tells where to find you in the internet */
=== .w'''w'''w. - Hotkey: w or W - Tells where to find you in the internet ===
Here is your gateway the the [http://www.FutureOS.de FutuerOS homepage] which does support Caruh too :-)
 
= III. Construction of Caruh =
== III.1. Memory allocation of the Caruh application in the lower RAM ==
Caruh's program code starts in the RAM at &0000 and currently extends to &2000.
From address &3800 the character set is up to &3FFF (as usual).
So there are still about 5-6 KB available for future extensions of Caruh.
 
There are few variables in the lower RAM, as it's planned to integrate Caruh in a lower ROM one day.
 
However, there are some entries of OS functions being of interest for the Tasks and their programmer.
 
==== Variables in Caruh ====
* Memory address &000E contains the screen MODE (0-3) which was set by the user with the help of Caruh. Each task can read the desired (user set) screen mode from this byte in case the task is switched to the Foreground.
 
* Memory address &000F contains the user defined screen format. The format was set by the user using Caruh (0 for 80x25, 1 for 68x30 and 3 for 64x32 format). Each task can read the desired screen format from this byte if the task is switched to the Foreground.
 
==== Entries in Caruh ====
* The 'SAOMS' function can be called at RAM address &0003. It allows the user to reserve a part of the multi-screen (regular view).
 
* The menu system 'M_DISP2' known from CBM can be called at address &0008 with the command 'RST 1'.
 
* The window frame drawer 'DR_WIN' known from CBM can be called with using the command 'CALL &000B'.
 
* The function 'SEPRI' is called at address &0010 using the Z80 command 'RST 2'. Using 'SEPRI' a task can change its priority. Each task is started with the highest priority '1' after loading. Values from 1 to 255 are permitted. Smaller values have higher priority.
 
* The 'RFMSA' function is called at address &0013 using command 'CALL &0013'. 'RFMSA' is used to reserve a part of the shared screen for a Task. This means the view that can be seen after Caruh has started. The task is then allowed to write in this area.
1,988
edits