Skip to content
Maciej Witkowiak edited this page Jun 7, 2021 · 2 revisions

Proposed RAM layout

Bank0

$00000-$000ff - RAM expansion control page, DeskTop start/end/length, overlays data, first free page
$00100-$078ff - DeskTop cache (120 pages)
$07900-$0d8ff - DeskAccessory swap space (DeskAccessory may be only $6000 long)
$0d900-$0ffff - unused, space for 2 disk drivers ($0d80 long)

Bank1
$10000-$1ffff - 1541 #8 disk cache

Bank2
$20000-$2ffff - 1541 #8 disk cache

Bank3
$30000-$3aaff - 1541 #8 disk cache (683 pages)
$3ab00-$3ffff - unused / start 1541 #9 cache here / start RAM disk here / 85 pages / 21K

Bank4
$40000-$4ffff - continue whatever is in top of bank 3 / 64K

Bank5
$50000-$5ffff - ditto / 64K

Bank6
$60000-$6ffff - ditto / 64K / 213K of RAM disk if whole space used, at least 32K more available in bank 7

Bank7
$70000-$77FFF - ditto
$7B000-$7BFFF - uncompressed standard icons?
$7C000-$7DFFF - back screen
$7E000-$7FFFF - front screen, use the top 192 unused bytes for display list

GFX routines

  • InvertLine sometimes highlights one card less than it should (vide 'file' and 'options' menus in DeskTop, but 'geos' and 'view' are fine)
  • RecoverMenu (part is called from dialog box restore) will always do RecoverRectangle and then the RecoverVector routine; this is how DeskTop handles menus and dialogs. For Beamracer one ImprintRectangle call had to be added to menu and dialog routines before they are drawn to make sure the background screen is updated
  • DoDlgBox/Recover should imprint/recover top/bot+8 left/right+8 rectangle to cover for dialog shadow
  • Rectangle routines should be separated to make them faster
  • DrawLine only needs DrawPoint
  • TestPoint has 3 operation modes
  • Font routines have to be understood first, probably the easiest way is to carefully reuse C128 VDC code
  • bitmap routines could use hardware repeat for unpacking bitmaps, it might be even useful to render whole bitmap to a buffer for bitmapclip and then copy the cropped part
  • GetScanLine needs 2*200=400 bytes for lookup tables and they must be in Kernal, it will take too much time to fetch them from BR

To make it all work more memory for code is needed. Ideally $A000-$BF40 is free but at least DeskTop/GeoPaint/GeoWrite/GeoPublish need to be examined if they don't write to that space directly. In VICE: break on $a000-$bf40 store if pc < $8000

Incompatible software:

  • Icon Editor
  • GeoCalc(?)
  • GeoFont
  • GeoPaint (preview)
  • GeoPublish (preview)
  • GeoWrite (scroll? preview)
Clone this wiki locally