DISKIV  = $E450         ;vector to initialize DIO
 DSKINV  = $E453         ;vector to DIO
-.if .defined(__ATARIXL__)
+.ifdef __ATARIXL__
 .ifndef SHRAM_HANDLERS
 .import CIO_handler, SIO_handler, SETVBV_handler
 .endif
 .define CIOV    CIO_handler
 .define SIOV    SIO_handler
 .define SETVBV  SETVBV_handler
-CIOV_org    = $E456         ;vector to CIO
-SIOV_org    = $E459         ;vector to SIO
-SETVBV_org  = $E45C         ;vector to set VBLANK parameters
+CIOV_org    = $E456     ;vector to CIO
+SIOV_org    = $E459     ;vector to SIO
+SETVBV_org  = $E45C     ;vector to set VBLANK parameters
 .else
 CIOV    = $E456         ;vector to CIO
 SIOV    = $E459         ;vector to SIO
 
 }
 
 SEGMENTS {
-    EXEHDR:     load = HEADER,                      type = ro;
+    EXEHDR:      load = HEADER,                       type = ro;
 
-    SYSCHKHDR:  load = SYSCHKHDR,                   type = ro,                optional = yes;
-    SYSCHK:     load = SYSCHKCHNK,                  type = rw,  define = yes, optional = yes;
-    SYSCHKTRL:  load = SYSCHKTRL,                   type = ro,                optional = yes;
+    SYSCHKHDR:   load = SYSCHKHDR,                    type = ro,                optional = yes;
+    SYSCHK:      load = SYSCHKCHNK,                   type = rw,  define = yes, optional = yes;
+    SYSCHKTRL:   load = SYSCHKTRL,                    type = ro,                optional = yes;
 
-    SRPREPHDR:  load = SRPREPHDR,                   type = ro;
-    LOWDATA:    load = SRPREPCHNK,                  type = bss, define = yes;  # shared btw. SRPREP and RAM
-    SRPREP:     load = SRPREPCHNK,                  type = rw,  define = yes;
+    SRPREPHDR:   load = SRPREPHDR,                    type = ro;
+    LOWDATA:     load = SRPREPCHNK,                   type = bss, define = yes;  # shared btw. SRPREP and RAM
+    SRPREP:      load = SRPREPCHNK,                   type = rw,  define = yes;
     SHADOW_RAM:  load = SRPREPCHNK, run = HIDDEN_RAM, type = rw,  define = yes, optional = yes;
     SHADOW_RAM2: load = SRPREPCHNK, run = HIDDEN_RAM, type = rw,  define = yes, optional = yes;
-    SRPREPTRL:  load = SRPREPTRL,                   type = ro;
+    SRPREPTRL:   load = SRPREPTRL,                    type = ro;
 
-    MAINHDR:    load = MAINHDR,                     type = ro;
-    STARTUP:    load = RAM,                         type = ro,  define = yes;
-    LOWCODE:    load = RAM,                         type = ro,  define = yes, optional = yes;
-    INIT:       load = RAM,                         type = ro,                optional = yes;
-    CODE:       load = RAM,                         type = ro,  define = yes;
-    RODATA:     load = RAM,                         type = ro;
-    DATA:       load = RAM,                         type = rw;
-    BSS:        load = RAM,                         type = bss, define = yes;
-    ZEROPAGE:   load = ZP,                          type = zp;
-    EXTZP:      load = ZP,                          type = zp,                optional = yes;
-    AUTOSTRT:   load = TRAILER,                     type = ro;
+    MAINHDR:     load = MAINHDR,                      type = ro;
+    STARTUP:     load = RAM,                          type = ro,  define = yes;
+    LOWCODE:     load = RAM,                          type = ro,  define = yes, optional = yes;
+    INIT:        load = RAM,                          type = ro,                optional = yes;
+    CODE:        load = RAM,                          type = ro,  define = yes;
+    RODATA:      load = RAM,                          type = ro;
+    DATA:        load = RAM,                          type = rw;
+    BSS:         load = RAM,                          type = bss, define = yes;
+    ZEROPAGE:    load = ZP,                           type = zp;
+    EXTZP:       load = ZP,                           type = zp,                optional = yes;
+    AUTOSTRT:    load = TRAILER,                      type = ro;
 }
 FEATURES {
     CONDES: type    = constructor,
 
 }
 
 SEGMENTS {
-    EXEHDR:     load = HEADER,                      type = ro;
+    EXEHDR:      load = HEADER,                        type = ro;
 
-    SYSCHKHDR:  load = SYSCHKHDR,                   type = ro,                optional = yes;
-    SYSCHK:     load = SYSCHKCHNK,                  type = rw,  define = yes, optional = yes;
-    SYSCHKTRL:  load = SYSCHKTRL,                   type = ro,                optional = yes;
+    SYSCHKHDR:   load = SYSCHKHDR,                     type = ro,                optional = yes;
+    SYSCHK:      load = SYSCHKCHNK,                    type = rw,  define = yes, optional = yes;
+    SYSCHKTRL:   load = SYSCHKTRL,                     type = ro,                optional = yes;
 
-    SRPREPHDR:  load = SRPREPHDR,                   type = ro;
-    LOWDATA:    load = SRPREPCHNK,                  type = bss, define = yes;  # shared btw. SRPREP and RAM
-    SRPREP:     load = SRPREPCHNK,                  type = rw,  define = yes;
+    SRPREPHDR:   load = SRPREPHDR,                     type = ro;
+    LOWDATA:     load = SRPREPCHNK,                    type = bss, define = yes;  # shared btw. SRPREP and RAM
+    SRPREP:      load = SRPREPCHNK,                    type = rw,  define = yes;
     SHADOW_RAM:  load = SRPREPCHNK, run = HIDDEN_RAM,  type = rw,  define = yes, optional = yes;
     SHADOW_RAM2: load = SRPREPCHNK, run = HIDDEN_RAM2, type = rw,  define = yes, optional = yes;
-    SRPREPTRL:  load = SRPREPTRL,                   type = ro;
-
-    MAINHDR:    load = MAINHDR,                     type = ro;
-    STARTUP:    load = RAM,                         type = ro,  define = yes;
-    LOWCODE:    load = RAM,                         type = ro,  define = yes, optional = yes;
-    INIT:       load = RAM,                         type = ro,                optional = yes;
-    CODE:       load = RAM,                         type = ro,  define = yes;
-    RODATA:     load = RAM,                         type = ro;
-    DATA:       load = RAM,                         type = rw;
-    BSS:        load = RAM,                         type = bss, define = yes;
-    ZEROPAGE:   load = ZP,                          type = zp;
-    EXTZP:      load = ZP,                          type = zp,                optional = yes;
-    AUTOSTRT:   load = TRAILER,                     type = ro;
-
-    OVERLAY1:   load = OVL1,                        type = ro,  define = yes, optional = yes;
-    OVERLAY2:   load = OVL2,                        type = ro,  define = yes, optional = yes;
-    OVERLAY3:   load = OVL3,                        type = ro,  define = yes, optional = yes;
-    OVERLAY4:   load = OVL4,                        type = ro,  define = yes, optional = yes;
-    OVERLAY5:   load = OVL5,                        type = ro,  define = yes, optional = yes;
-    OVERLAY6:   load = OVL6,                        type = ro,  define = yes, optional = yes;
-    OVERLAY7:   load = OVL7,                        type = ro,  define = yes, optional = yes;
-    OVERLAY8:   load = OVL8,                        type = ro,  define = yes, optional = yes;
-    OVERLAY9:   load = OVL9,                        type = ro,  define = yes, optional = yes;
+    SRPREPTRL:   load = SRPREPTRL,                     type = ro;
+
+    MAINHDR:     load = MAINHDR,                       type = ro;
+    STARTUP:     load = RAM,                           type = ro,  define = yes;
+    LOWCODE:     load = RAM,                           type = ro,  define = yes, optional = yes;
+    INIT:        load = RAM,                           type = ro,                optional = yes;
+    CODE:        load = RAM,                           type = ro,  define = yes;
+    RODATA:      load = RAM,                           type = ro;
+    DATA:        load = RAM,                           type = rw;
+    BSS:         load = RAM,                           type = bss, define = yes;
+    ZEROPAGE:    load = ZP,                            type = zp;
+    EXTZP:       load = ZP,                            type = zp,                optional = yes;
+    AUTOSTRT:    load = TRAILER,                       type = ro;
+
+    OVERLAY1:    load = OVL1,                          type = ro,  define = yes, optional = yes;
+    OVERLAY2:    load = OVL2,                          type = ro,  define = yes, optional = yes;
+    OVERLAY3:    load = OVL3,                          type = ro,  define = yes, optional = yes;
+    OVERLAY4:    load = OVL4,                          type = ro,  define = yes, optional = yes;
+    OVERLAY5:    load = OVL5,                          type = ro,  define = yes, optional = yes;
+    OVERLAY6:    load = OVL6,                          type = ro,  define = yes, optional = yes;
+    OVERLAY7:    load = OVL7,                          type = ro,  define = yes, optional = yes;
+    OVERLAY8:    load = OVL8,                          type = ro,  define = yes, optional = yes;
+    OVERLAY9:    load = OVL9,                          type = ro,  define = yes, optional = yes;
 }
 FEATURES {
     CONDES: type    = constructor,
 
 }
 
 SEGMENTS {
-    EXEHDR:     load = HEADER,                      type = ro;
+    EXEHDR:      load = HEADER,                        type = ro;
 
-    SYSCHKHDR:  load = SYSCHKHDR,                   type = ro,                optional = yes;
-    SYSCHK:     load = SYSCHKCHNK,                  type = rw,  define = yes, optional = yes;
-    SYSCHKTRL:  load = SYSCHKTRL,                   type = ro,                optional = yes;
+    SYSCHKHDR:   load = SYSCHKHDR,                     type = ro,                optional = yes;
+    SYSCHK:      load = SYSCHKCHNK,                    type = rw,  define = yes, optional = yes;
+    SYSCHKTRL:   load = SYSCHKTRL,                     type = ro,                optional = yes;
 
-    SRPREPHDR:  load = SRPREPHDR,                   type = ro;
-    LOWDATA:    load = SRPREPCHNK,                  type = bss, define = yes;  # shared btw. SRPREP and RAM
-    SRPREP:     load = SRPREPCHNK,                  type = rw,  define = yes;
+    SRPREPHDR:   load = SRPREPHDR,                     type = ro;
+    LOWDATA:     load = SRPREPCHNK,                    type = bss, define = yes;  # shared btw. SRPREP and RAM
+    SRPREP:      load = SRPREPCHNK,                    type = rw,  define = yes;
     SHADOW_RAM:  load = SRPREPCHNK, run = HIDDEN_RAM,  type = rw,  define = yes, optional = yes;
     SHADOW_RAM2: load = SRPREPCHNK, run = HIDDEN_RAM2, type = rw,  define = yes, optional = yes;
-    SRPREPTRL:  load = SRPREPTRL,                   type = ro;
+    SRPREPTRL:   load = SRPREPTRL,                     type = ro;
 
-    MAINHDR:    load = MAINHDR,                     type = ro;
-    STARTUP:    load = RAM,                         type = ro,  define = yes;
-    LOWCODE:    load = RAM,                         type = ro,  define = yes, optional = yes;
-    INIT:       load = RAM,                         type = ro,                optional = yes;
-    CODE:       load = RAM,                         type = ro,  define = yes;
-    RODATA:     load = RAM,                         type = ro;
-    DATA:       load = RAM,                         type = rw;
-    BSS:        load = RAM,                         type = bss, define = yes;
-    ZEROPAGE:   load = ZP,                          type = zp;
-    EXTZP:      load = ZP,                          type = zp,                optional = yes;
-    AUTOSTRT:   load = TRAILER,                     type = ro;
+    MAINHDR:     load = MAINHDR,                       type = ro;
+    STARTUP:     load = RAM,                           type = ro,  define = yes;
+    LOWCODE:     load = RAM,                           type = ro,  define = yes, optional = yes;
+    INIT:        load = RAM,                           type = ro,                optional = yes;
+    CODE:        load = RAM,                           type = ro,  define = yes;
+    RODATA:      load = RAM,                           type = ro;
+    DATA:        load = RAM,                           type = rw;
+    BSS:         load = RAM,                           type = bss, define = yes;
+    ZEROPAGE:    load = ZP,                            type = zp;
+    EXTZP:       load = ZP,                            type = zp,                optional = yes;
+    AUTOSTRT:    load = TRAILER,                       type = ro;
 }
 FEATURES {
     CONDES: type    = constructor,
 
 
         jsr     initlib
 
-.if 0
-.ifdef __ATARIXL__
-        .import __heapadd
-        .import pushax
-        .import __RAM_BELOW_ROM_START__
-        .import __RAM_BELOW_ROM_SIZE__
-        .import __RAM_BELOW_ROM_LAST__
-
-        lda     #<__RAM_BELOW_ROM_LAST__
-        ldx     #>__RAM_BELOW_ROM_LAST__
-        jsr     pushax
-        lda     #<(__RAM_BELOW_ROM_SIZE__ - (__RAM_BELOW_ROM_LAST__ - __RAM_BELOW_ROM_START__))
-        ldx     #>(__RAM_BELOW_ROM_SIZE__ - (__RAM_BELOW_ROM_LAST__ - __RAM_BELOW_ROM_START__))
-        jsr     __heapadd
-.endif
-.endif
-
 ; Set left margin to 0
 
         lda     LMARGN
         sta     MEMTOP+1
 
 
-; ... issue a GRAPHICS 0 call (copied'n'pasted from TGI drivers)
+; Issue a GRAPHICS 0 call (copied'n'pasted from TGI drivers) in
+; order to restore screen memory to its defailt location just
+; before the ROM.
 
         jsr     findfreeiocb
 
         lda     #0
         sta     ICBLH,x
         jsr     CIOV_org
-; add error checking here...
+; No error checking here, shouldn't happen(tm), and no way to
+; recover anyway.
+
         lda     #CLOSE
         sta     ICCOM,x
         jsr     CIOV_org
 
 .endif
         lda     PORTB
         pha
-        and     #$fe
+        and     #$FE
         sta     PORTB                   ; disable ROM
         set_chbase >__CHARGEN_START__
 .endif
 
 ; Christian Groessler, chris@groessler.org, 2013
 ;
 
-;DEBUG   =       1
-CHKBUF  =       1       ; check if bounce buffering is needed (bounce buffering is always done if set to 0)
+;DEBUG           =       1
+CHKBUF          =       1       ; check if bounce buffering is needed (bounce buffering is always done if set to 0)
 
 .ifdef __ATARIXL__
 
-        SHRAM_HANDLERS  = 1
+SHRAM_HANDLERS  =       1
         .include        "atari.inc"
         .include        "save_area.inc"
         .include        "zeropage.inc"
         .export         SIO_handler
         .export         SETVBV_handler
 
-BUFSZ           =       128             ; bounce buffer size
+BUFSZ           =       128     ; bounce buffer size
 BUFSZ_SIO       =       256
 
 .segment "INIT"
 
 
 .macpack longbranch
 
-.if .defined(__ATARIXL__)
+.ifdef __ATARIXL__
         CIO_vec := my_CIOV
 .else
         CIO_vec := CIOV
         text_dir:
                 .byte   0       ; Text direction,
 
-.if .defined(__ATARIXL__)
+.ifdef __ATARIXL__
         my_CIOV:
                 .byte   $4C, 0, 0
 .endif
 
         stx     mask
 
-.if .defined(__ATARIXL__)
+.ifdef __ATARIXL__
 
         ; setup pointer to CIO