]> cloudbase.mooo.com Git - z180-stamp.git/blobdiff - z180/r3init.180
Support for Peter Danneggers fboot.
[z180-stamp.git] / z180 / r3init.180
index 2dd1bb8f7343119d30c37ba43752f7d9d38e32d9..9edeaf216f33b2395baafcda06fca5348b4faeb1 100644 (file)
@@ -3,7 +3,7 @@
 \r
        extrn ddtz,bpent\r
        extrn $stack\r
-       extrn $coninit,$cists,$ci\r
+       extrn charini,?const,?conin\r
 \r
        extrn romend\r
 \r
@@ -73,17 +73,20 @@ hwini0:
 ;----------------------------------------------------------------------\r
 \r
 start:\r
-       push af                 ;003c\r
-       in0 a,(itc)             ;003d   Illegal opcode trap?\r
-       jp p,??st01             ;0040\r
-       pop af                  ;0043\r
-       jp bpent                ;0044     yes, handle\r
+       ld      (tmpstack),sp\r
+       ld      sp,tmpstack\r
+       push af\r
+       in0 a,(itc)             ;Illegal opcode trap?\r
+       jp m,??st01\r
+       ld a,i                  ;I register == 0 ?\r
+       jr z,??st02             ;    yes, harware reset\r
 \r
 ??st01:\r
-       ld a,i                  ;0047   I register == 0 ?\r
-       jr z,??st02             ;004b     yes, harware reset\r
-       pop af                  ;004d\r
-       jp bpent                ;004e     no, allready set up\r
+       ld      a,(syscbr)\r
+       out0    (cbr),a\r
+       pop af                  ;restore registers\r
+       ld      sp,(tmpstack)   ;\r
+       jp bpent                ;\r
 \r
 ??st02:\r
        di                      ;0058\r
@@ -189,6 +192,8 @@ ramok:
 \r
 alloc:\r
        out0    (cbr),c         ;01de\r
+       ld      a,c\r
+       ld      (syscbr),a\r
        ld      sp,$stack       ;01e1\r
 \r
 ; Clear RAM using DMA0\r
@@ -280,7 +285,7 @@ wstart:
 \r
        call    prt0_init\r
 \r
-       call    $coninit\r
+       call    charini\r
 \r
        call    bufferinit\r
 \r
@@ -289,15 +294,21 @@ wstart:
        im 2                    ;?030e\r
        ei                      ;0282\r
 \r
-       call $cists             ;0284\r
-       call $cists             ;0287\r
+       call ?const             ;0284\r
+       call ?const             ;0287\r
        or a                    ;028a\r
-       call nz,$ci             ;028d\r
+       call nz,?conin          ;028d\r
 \r
        ld a,(banktab)          ;\r
        ld e,a                  ;\r
        jp ddtz                 ;0290\r
 \r
+\r
+       ds      8\r
+tmpstack:\r
+       dw      2\r
+syscbr:        db      1\r
+\r
 ;\r
 ;----------------------------------------------------------------------\r
 ;\r
@@ -346,7 +357,7 @@ bufferinit:
 \r
 inimsg:\r
        db      inimsg_e - $ - 1\r
-       db      81h\r
+       db      0AEh\r
        db      inimsg_e - $ - 1\r
        db      0\r
 bufdat:\r
@@ -412,7 +423,7 @@ buftablen equ       ($ - buffers)/3
 \r
 inimsg:\r
        db      inimsg_e - $ -1\r
-       db      81h\r
+       db      0AEh\r
        db      inimsg_e - $ -1\r
        db      0\r
 bufdat:\r