mirror of
https://github.com/mi57730/a2d.git
synced 2025-08-15 10:27:26 +00:00
notes on memory usage
This commit is contained in:
@@ -79,7 +79,7 @@ run.
|
|||||||
|
|
||||||
`mgtk.s`
|
`mgtk.s`
|
||||||
|
|
||||||
Aux $4000-$851E is the [MouseGraphics ToolKit](../MGTK.md) - a
|
Aux $4000-$8580 is the [MouseGraphics ToolKit](../MGTK.md) - a
|
||||||
GUI library used for the DeskTop application.
|
GUI library used for the DeskTop application.
|
||||||
|
|
||||||
Since this resides in Aux memory, DeskTop spends most of its time
|
Since this resides in Aux memory, DeskTop spends most of its time
|
||||||
@@ -96,28 +96,42 @@ data.
|
|||||||
|
|
||||||
DeskTop application code is in the lower 48k of both Aux and Main:
|
DeskTop application code is in the lower 48k of both Aux and Main:
|
||||||
|
|
||||||
* Aux $851F-$BFFF - sitting above the GUI library (`desktop_aux.s`)
|
* Aux $8580-$BFFF - sitting above the GUI library (`desktop_aux.s`)
|
||||||
* Main $4000-$BEFF (`desktop_main.s`)
|
* Main $4000-$BEFF (`desktop_main.s`)
|
||||||
|
|
||||||
...and in the Aux language card area (accessible from both aux and
|
...and in the Aux language card area (accessible from both aux and
|
||||||
main code) are relays, buffers and resources:
|
main code) are relays, buffers and resources:
|
||||||
|
|
||||||
* Aux $D000-$ECFF - relays and other aux/main helpers, resources (menus, strings, window)
|
* Aux $D000-$D1FF - main-to-aux relay calls
|
||||||
|
* Aux $D200-$ECFF - resources (menus, strings, window)
|
||||||
* Aux $ED00-$FAFF - hole for data buffer - entries for each icon on desktop/in windows
|
* Aux $ED00-$FAFF - hole for data buffer - entries for each icon on desktop/in windows
|
||||||
* Aux $FB00-$FFFF - more resources (file types, icons)
|
* Aux $FB00-$FFFF - more resources (file types, icons)
|
||||||
|
|
||||||
($C000-$CFFF is reserved for I/O, and main $BF page and language card is ProDOS)
|
($C000-$CFFF is reserved for I/O, and main $BF page and language card is ProDOS)
|
||||||
|
|
||||||
`desktop_res.s` defines these common resources. It is built as part of
|
`desktop_res.s` defines these common resources. It is built as part of
|
||||||
`desktop.s`. Early in the build process it is also built as part of
|
`desktop.s`.
|
||||||
`desktop_res_build.s` which is processed to produce `out/desktop_res.inc`,
|
|
||||||
which is used by the overlay sources.
|
|
||||||
|
|
||||||
Aux $1B00-$1F7F holds lists of icons, one for the desktop then one for up
|
The DeskTop code in Aux primarily implements the actual desktop GUI,
|
||||||
to 8 windows. First byte is a count, up to 127 icon entries. Icon numbers
|
drawing file icons in windows, volume icons on the desktop, handling
|
||||||
map indirectly into a table at $ED00 that holds the type, coordinates, etc.
|
selection and dragging, and tracking icons in windows; this code is
|
||||||
Aux $1F80-$1FFF is a map of used/free icon numbers, as they are reassigned
|
implemented as a library with MLI-style calls. The code in Main
|
||||||
as windows are opened and closed.
|
handles the bulk of the application logic.
|
||||||
|
|
||||||
|
When running, lower memory use includes:
|
||||||
|
|
||||||
|
* Main $800-$1BFF is used as scratch space for a variety of routines.
|
||||||
|
* Main $1C00-$1FFF is used as a 1k ProDOS I/O buffer.
|
||||||
|
|
||||||
|
* Aux $0800-$1AFF is a "save area"; used by MGTK to store the background
|
||||||
|
when menus are drawn so it can be restored without redrawing. The
|
||||||
|
save area is also used by DeskTop to save the background for alert
|
||||||
|
dialogs, and icon outlines when dragging.
|
||||||
|
* Aux $1B00-$1F7F holds lists of icons, one for the desktop then one for up
|
||||||
|
to 8 windows. First byte is a count, up to 127 icon entries. Icon numbers
|
||||||
|
map indirectly into a table at $ED00 that holds the type, coordinates, etc.
|
||||||
|
* Aux $1F80-$1FFF is a map of used/free icon numbers, as they are reassigned
|
||||||
|
as windows are opened and closed.
|
||||||
|
|
||||||
### Overlays
|
### Overlays
|
||||||
|
|
||||||
@@ -202,7 +216,7 @@ $8E00 | | | Entry Point |
|
|||||||
| | | |
|
| | | |
|
||||||
$8800 | | | Font |
|
$8800 | | | Font |
|
||||||
| | | |
|
| | | |
|
||||||
$851F | | +-------------+
|
$8580 | | +-------------+
|
||||||
| | | MGTK |
|
| | | MGTK |
|
||||||
| | | |
|
| | | |
|
||||||
| | | |
|
| | | |
|
||||||
|
Reference in New Issue
Block a user