copy to ram and initialze sprite from c
[swan-dev] / src / init.s
index 3a36e09..004c231 100644 (file)
@@ -2,7 +2,10 @@
 %include "WonderSwan.inc"
 
 extern _main
-extern __end
+extern         _test_copy
+extern         __etext
+extern         __edata
+extern         __end
 
 MYSEGMENT      equ     0xF000
 
@@ -33,7 +36,7 @@ sprtable      equ     bgmap-SPR_TABLE_SIZE
        mov     di,ax
        mov     ds,ax           ; Clear Segments
        mov     es,ax
-
+       
        mov     bp,ax           ; Setup stack
        mov     ss,ax
        mov     sp,WS_STACK
@@ -44,7 +47,7 @@ sprtable      equ     bgmap-SPR_TABLE_SIZE
 
        mov     sp,WSC_STACK    ; New stack
        
-       call    _main
+       ;call   _main
 
        xor     ax,ax           ; Clear Ram
        mov     di,0x100
@@ -53,6 +56,9 @@ sprtable      equ     bgmap-SPR_TABLE_SIZE
 
        out     IO_SRAM_BANK,al
 
+
+       ;mov    cx, 0x100
+
        ; Video Init
        in      al,IO_VIDEO_MODE
        or      al,VMODE_16C_CHK | VMODE_CLEANINIT
@@ -106,11 +112,15 @@ sprtable  equ     bgmap-SPR_TABLE_SIZE
 ;--------------------------------
 
        ; Set Segments for Copy
-       mov     ax,MYSEGMENT
+       mov     ax,0xF000
        mov     ds,ax
        xor     ax,ax
        mov     es,ax
 
+       mov     si, 0xF000
+       mov     di, 0x1000
+       mov     cx, 50
+       rep     movsb
        ; Make BG
 
        mov     si,TileGfx
@@ -118,10 +128,16 @@ sprtable  equ     bgmap-SPR_TABLE_SIZE
        mov     cx,(TileGfxE-TileGfx)/2
        rep     movsw
 
-       mov     si,TilePal
-       mov     di,WSC_PALETTES
-       mov     cx,16
-       rep     movsw
+       ;mov    si,TilePal
+       ;mov    di,WSC_PALETTES
+       ;mov    cx,32
+       ;rep    movsb
+;back:
+       call    _main
+       ;call   _main
+       ;call   _test_copy
+       ;call   _test_copy
+       ;jmp    back
 
        mov     ax,BG_CHR(0,0,0,0,0)    ; Initial Tile, Pal 0, Bank 0
        mov     di,bgmap
@@ -132,6 +148,9 @@ sprtable    equ     bgmap-SPR_TABLE_SIZE
        mov     al,BG_ON | FG_ON
        out     IO_DISPLAY_CTRL,al
 
+blaat:
+       jmp     blaat
+
        ; Loop Read Buttons
 loop:
        mov     al,KEYPAD_READ_BUTTONS