diff --git a/art/screen.bin b/art/screen.bin
new file mode 100644
index 0000000..efd0c3a
--- /dev/null
+++ b/art/screen.bin
@@ -0,0 +1 @@
+ !"#$%&6789;<= !"#$%&
> !"#$%&/ ,"4$%& !"#$%& !"#$%&?ABCDEF !.#$%&G$%&

 0"#$%&
 !1#$%&$&6789;<= -"#$%&> !3#$%& !"-$%&
 !"#$%&

 !"#$%&?ABCDEF2 !2,$%&G. !"#2%&2 !"#$%& !"#$%&� !"1$%&Z[	� !"#$%&^_]\d 1"#$%&��bc�ge� !"#$%&��ij�ld !"#$%&���pqre !"#$%&������� !"#$%&vwxyz{'(((((((((()|}~
\ No newline at end of file
diff --git a/art/t1.fnt b/art/t1.fnt
new file mode 100644
index 0000000..5129971
Binary files /dev/null and b/art/t1.fnt differ
diff --git a/lumber.asm b/lumber.asm
index e46a22d..7c2f723 100644
--- a/lumber.asm
+++ b/lumber.asm
@@ -31,101 +31,30 @@ RMT_zpvars = AutoPlay+1  ; POZOR!!! RMT vars go here
 ;---------------------------------------------------
     org $2000
 MODUL
-    ins 'art/muzyka_stripped.rmt',+5  ; my RMT 1.28 on WINE is apparently broken. I lost some hair here (5, not 6)
-    .align $100
-    icl 'art/rmtplayr.a65'
+    ;ins 'art/muzyka_stripped.rmt',+5  ; my RMT 1.28 on WINE is apparently broken. I lost some hair here (5, not 6)
+    ;.align $100
+    ;icl 'art/rmtplayr.a65'
     ;---------------------------------------------------
     .align $400
-font
-    ins 'art/Mild West.fnt'  ; https://damieng.com/typography/zx-origins/mild-west/
-dl 
-    .by SKIP3
-    dta MODE2+LMS,a(statusBuffer)
-    ;.by $80+$50  # fancy shmancy vscroll square pixels
-    ;dta $4f+$20,a(display)	 ;VSCROLL
-    ;:((maxlines-1)/2) dta a($2f8f)	
-    .by SKIP1+DLII
-    .rept (maxlines-1), #
-    :3 dta MODEF+LMS, a(display+screenBytes*:1)
-    dta MODEF+LMS+DLII, a(display+screenBytes*:1)
-    .endr
-    ;----    
-    .by MODE2+LMS+SCH ;Hscroll
-DLracquetAddr0
-    .wo racquetDisp
-    .by JVB
-    .wo dl
+font_game1
+    ins 'art/t1.fnt'  ;
+dl_level
+    .by $90
+    .by $44
+    .wo gamescreen
+    :27 .by $04
+    .by $41
+    .wo dl_level
 ;---------------------------------------------------
+gamescreen
+    ins 'art/screen.bin'  ;
 ;--------------------------------------------------
-    icl 'lib/fileio.asm'
+    ;icl 'lib/fileio.asm'
 ;--------------------------------------------------
 
 ;--------------------------------------------------
 .proc vint
 ;--------------------------------------------------
-    ;------------JOY-------------
-    ;happy happy joy joy
-    ;check for joystick now
-
-    ldy PORTA
-    tya
-    and #$04 ;left
-    bne jNotLeft
-    ldx racquetPos
-    cpx #racquetPosMin+1
-    bcc jNotLeft
-    dex
-    stx racquetPos
-
-jNotLeft
-    tya
-    and #$08 ;right
-    bne jNotRight
-    ldx racquetPos
-    cpx #racquetPosMax
-    bcs jNotRight
-    inx
-    stx racquetPos
-jNotRight
-/*
-    ;fire
-    lda TRIG0
-    bne JNotFire
-    ...
-JNotFire
-*/
-  
-    ;lda racquetPos
-
-    sec
-    lda #screenWidth-1
-    sbc racquetPos
-    lsr
-    clc
-    adc #<racquetDisp
-    sta dlracquetAddr0
-    lda #>racquetDisp
-    adc #0
-    sta dlracquetAddr0+1
-
-    lda racquetPos
-    lsr 
-    and #$01
-    ;sta HSCROL
-    
-/*  ;pos print
-    lda racquetPos
-    :4 lsr
-    clc
-    adc #'0'
-    sta hexDump
- 
-    lda racquetPos
-    and #$0F
-    clc
-    adc #'0'
-    sta hexDump+1
-*/ 
 
     mva #0 dliCount
     ; mva #13 VSCROL  ; FOX gfx mode only
@@ -151,7 +80,7 @@ lab2
 SkipRMTVBL
 
 */
-    ;sfx
+/*     ;sfx
     lda sfx_effect
     bmi lab2
     asl                         ; * 2
@@ -165,7 +94,7 @@ SkipRMTVBL
 ;
 lab2
     jsr RASTERMUSICTRACKER+3
-skipSoundFrame
+skipSoundFrame */
 
     jmp XITVBV
 .endp
@@ -182,46 +111,29 @@ main
     jsr initialize
     RMTsong song_main_menu
     jsr StartScreen
-    jsr MakeDarkScreen
-    
-    mva #$0 AutoPlay    
-    jsr ScoreClear
-    mva #"5" Lives
-    jsr clearscreen
-    mva #$0 LevelType
-    jsr LoadLevelData.level000  ; set visible number to 000
-    jsr BuildLevelFromBuffer
-    jsr LevelScreen
     RMTSong song_ingame
 gameloop
-    jsr initialize.ClearTables
-    jsr MainScreen
-    jsr PlayLevel
-    bit EndLevelFlag    ; reason for end level
-    bmi EndOfLife   ; end of life :)
-    ; end of level (level up)
     jsr MakeDarkScreen
-    jsr NextLevel
     jsr LevelScreen
+    jsr PlayLevel
+    jsr MakeDarkScreen
+    ;jsr NextLevel
     ; RMTSong song_ingame
     jsr AudioInit   ; after I/O
     jmp gameloop
 EndOfLife
-    dec Lives   ; decrease Lives
-    lda Lives
-    cmp #"0"
-    beq gameOver    ; if no lives - game over
-    jsr NextLife
+    ;dec Lives   ; decrease Lives
+    ;lda Lives
+    ;cmp #"0"
+    ;beq gameOver    ; if no lives - game over
+    ;jsr NextLife
     jmp gameloop
 gameOver
     ;game over
-    RMTSong song_game_over 
-    jsr HiScoreCheckWrite
+    ;RMTSong song_game_over 
+    ;jsr HiScoreCheckWrite
     jsr GameOverScreen
-@   lda RANDOM
-    and #%00001110
-    sta COLPF0
-    lda CONSOL
+@   lda CONSOL
     and #@consol(start) ; START
     beq main
     lda TRIG0   ; fire
@@ -231,12 +143,7 @@ gameOver
 ;--------------------------------------------------
 .proc StartScreen
 ;--------------------------------------------------
-    jsr MakeDarkScreen
-    mva #$ff AutoPlay
-    sta LevelType   ; Title
-    mva #"9" Lives
-    jsr clearscreen
-    jsr BuildLevelFromBuffer
+/*     jsr MakeDarkScreen
     mwa #dl_start dlptrs
     lda #$0 ;+GTIACTLBITS
     sta GPRIOR
@@ -245,102 +152,35 @@ gameOver
     sta dmactls
     pause 1
 StartLoop
-    jsr PlayLevel
-    bit EndLevelFlag    ; reason for end level
-    bmi EndOfStartScreen
-    ; end of level (level up)
-    jsr NextLevel
-    jmp StartLoop
-EndOfStartScreen
+    ;jmp StartLoop
+EndOfStartScreen */
     rts
 .endp
-;--------------------------------------------------
-.proc NextLife
-;--------------------------------------------------
-    ldy #maxBalls
-    sty eXistenZstackPtr
-    ;OK, one ball starts!
-    lda eXistenZstack,Y
-    dey
-    sty eXistenZstackPtr
-    tax
-    jsr randomStart ;just one random pixxxel 
-                    ;previously the whole band of ballz
-    rts
-.endp
-;--------------------------------------------------
-.proc NextLevel
-;--------------------------------------------------
-    lda LevelType
-    beq level000
-    bmi levelTitle
-    ; load level from disk
-loadNext
-    jsr FileUp
-    jsr LoadLevelData
-levelTitle
-    jsr clearscreen
-    jsr BuildLevelFromBuffer
-    jsr initialize.ClearTables
-    rts ; start level
-level000
-    mva #1 LevelType    ; switch to files
-    ; reset file number to 000
-    ldx #2
-@   lda StartLevelNumber,x
-    sta LevelNumber,x
-    dex
-    bpl @-
-    jmp loadNext
-.endp
-
 ;--------------------------------------------------
 .proc LevelScreen
 ;--------------------------------------------------
     jsr MakeDarkScreen
     ldx #2
-@     lda LevelNumber,x
-      sec
-      sbc #$20
-      sta LevelText+16,x
-      dex
-    bpl @-
     mwa #dl_level dlptrs
-    lda #@dmactl(standard|dma)  ; normal screen width, DL on, P/M off
+    lda #@dmactl(narrow|dma)  ; narrow screen width, DL on, P/M off
     sta dmactls
+    mva #>font_game1 CHBAS
     pause 100
     rts
 .endp
 ;--------------------------------------------------
 .proc GameOverScreen
 ;--------------------------------------------------
-    jsr MakeDarkScreen
+/*     jsr MakeDarkScreen
     ldx #5
-@     lda score,x
-      sta OverText+33,x
-      dex
-    bpl @-
     mwa #dl_over dlptrs
     lda #%00110010  ; normal screen width, DL on, P/M off
     sta dmactls
-    pause 20
+    pause 20 */
     
     rts
 .endp
 ;--------------------------------------------------
-.proc MainScreen
-;--------------------------------------------------
-    jsr MakeDarkScreen
-    mwa #dl dlptrs
-    lda #$0 ;+GTIACTLBITS
-    sta GPRIOR
-    sta COLBAKS
-    lda #@dmactl(standard|dma)  ; normal screen width, DL on, P/M off
-    sta dmactls
-    pause 1
-    rts
-.endp
-;--------------------------------------------------
 .proc MakeDarkScreen
 ;--------------------------------------------------
     mva #0 dmactls             ; dark screen
@@ -355,150 +195,16 @@ loop
 
     ; PUT GAME HERE
        
-    dec currBall
-    jpl flight
 
 
-    pause 1 ;all balls
-    bit AutoPlay
-    bpl NoAuto
-    pause 1 ;additional pause if auto play mode (slower)
-    lda CONSOL
-    and #@consol(start) ; START
-    beq LevelOver   ; Start pressed in Auto Play - exit
-    lda TRIG0
-    beq LevelOver
     
 NoAuto
-    lda eXistenZstackPtr
-    cmp #maxBalls
     jne loop
 LevelOver
     ; level over
-    mva #$ff EndLevelFlag
     jsr wait_for_depress
     rts
-    
-
-;--------------------------------------------------
-.proc ScoreUp
-;--------------------------------------------------
-    inc score+5
-    lda score+5
-    cmp #"9"+1  ; 9+1 character code
-    bne ScoreReady
-    lda #"0"    ; 0 character code
-    sta score+5
-    inc score+4
-    lda score+4
-    cmp #"9"+1  ; 9+1 character code
-    bne ScoreReady
-    lda #"0"    ; 0 character code
-    sta score+4
-    inc score+3
-    lda score+3
-    cmp #"9"+1  ; 9+1 character code
-    bne ScoreReady
-    lda #"0"    ; 0 character code
-    sta score+3
-    inc score+2
-    ; bonus !!! :)
-    lda Lives
-    cmp #"9"
-    beq noLivesUP
-    inc Lives
-    mva #05 sfx_effect
-    mva #$ff COLBAKS
-    pause 2 ; sorry
-    inc COLBAKS
-noLivesUP
-    ;----------
-    lda score+2
-    cmp #"9"+1  ; 9+1 character code
-    bne ScoreReady
-    lda #"0"    ; 0 character code
-    sta score+2
-    inc score+1
-    lda score+1
-    cmp #"9"+1  ; 9+1 character code
-    bne ScoreReady
-    lda #"0"    ; 0 character code
-    sta score+1
-    inc score
-ScoreReady
-    rts
-.endp
-;--------------------------------------------------
-.proc ScoreClear
-;--------------------------------------------------
-    lda #"0"
-    ldx #4
-@   sta score,x
-    dex
-    bpl @-
-    rts
-.endp
-;--------------------------------------------------
-.proc HiScoreCheckWrite
-; It checks if the score is greater than hiscore.
-; If yes - rewrites the score to hiscore.
-;--------------------------------------------------
-    lda HiScore
-    cmp score
-    bcc higher1
-    bne lower
-    lda HiScore+1
-    cmp score+1
-    bcc higher2
-    bne lower
-    lda HiScore+2
-    cmp score+2
-    bcc higher3
-    bne lower
-    lda HiScore+3
-    cmp score+3
-    bcc higher4
-    bne lower
-    lda HiScore+4
-    cmp score+4
-    bcc higher5
-    bne lower
-    lda HiScore+5
-    cmp score+5
-    bcc higher6
-lower
-    rts
-higher1
-    lda score
-    sta HiScore
-higher2
-    lda score+1
-    sta HiScore+1
-higher3
-    lda score+2
-    sta HiScore+2
-higher4
-    lda score+3
-    sta HiScore+3
-higher5
-    lda score+4
-    sta HiScore+4
-higher6
-    lda score+5
-    sta HiScore+5
-    rts
-.endp
-;--------------------------------------------------
-.proc clearScreen
-;--------------------------------------------------
-    lda #0
-    tax
-@
-    :(maxLines*40/256+1) sta display+$100*#,x
-    inx
-    bne @-
-    rts
-.endp
+.endp   
 ;--------------------------------------------------
 .proc AudioInit
 ;--------------------------------------------------
@@ -519,12 +225,11 @@ higher6
 .proc initialize
 ;--------------------------------------------------
      
-    mva #>font CHBAS
+    mva #>font_game1 CHBAS
     mva #$00 PCOLR0 ; = $02C0 ;- - rejestr-cień COLPM0
 
     mva #$7C COLBAKS
 
-    mva #screenWidth/2-racquetSize/4 racquetPos    
 
     mva #0 dliCount
     sta RMT_blocked
@@ -534,157 +239,26 @@ higher6
 
     JSR AudioInit
     
-    ;RMT INIT
+/*     ;RMT INIT
     ldx #<MODUL                 ;low byte of RMT module to X reg
     ldy #>MODUL                 ;hi byte of RMT module to Y reg
     lda #0                      ;starting song line 0-255 to A reg
     jsr RASTERMUSICTRACKER      ;Init
-    
+ */    
     
     lda #@dmactl(standard|dma)
     sta dmactls
-    mwa #dl dlptrs
-    vdli DLI
-
-ClearTables
-    jsr cyclecolorsReset
-    mwa #clear_vars_start temp
-    ldy #0
-@
-    tya
-    sta (temp),y
-    inw temp
-    cpw temp #clear_vars_end
-    bne @-
-
+    mwa #dl_level dlptrs
+    ;vdli DLI
 
                     
     ;VBI
 
-    vmain vint,7
+    ;vmain vint,7
     
     rts
 .endp
 ;--------------------------------------------------
-.proc FileUp
-;--------------------------------------------------
-    inc LevelNumber+2
-    lda LevelNumber+2
-    cmp #'9'+1  ; 9+1 character code
-    bne NumberReady
-    lda #'0'    ; 0 character code
-    sta LevelNumber+2
-    inc LevelNumber+1
-    lda LevelNumber+1
-    cmp #'9'+1  ; 9+1 character code
-    bne NumberReady
-    lda #'0'    ; 0 character code
-    sta LevelNumber+1
-    inc LevelNumber
-NumberReady
-    rts
-.endp
-;--------------------------------------------------
-.proc LoadLevelData
-;--------------------------------------------------
-    lda LevelType
-    beq level000
-    bmi levelTitle
-    ; load level from disk
-    ; prepare number in filename
-    ldx #2
-@   lda LevelNumber,x
-    sta fname+7,x
-    dex
-    bpl @-
-    ; clear buffer
-    mwa #LevelFileBuff temp
-    ldy #0
-@   tya
-    sta (temp),y
-    inw temp
-    cpw temp #LevelFileBuffEnd
-    bne @-
-    ; try to load file
-    jsr close
-    jsr open
-    bmi open_error
-    jsr bget
-    bmi bget_error
-go_close    jsr close
-    rts
-bget_error
-    cpy #136 ; EOF
-    beq go_close
-open_error
-    mva #0 LevelType    ; set level to internal 000
-level000
-    ; reset file number to 000
-    ldx #2
-@   lda StartLevelNumber,x
-    sta LevelNumber,x
-    dex
-    bpl @-
-levelTitle
-    rts 
-.endp   
-;--------------------------------------------------
-.proc displaydec5 ;decimal (word), displayposition  (word)
-;--------------------------------------------------
-; displays decimal number as in parameters (in text mode)
-; leading zeroes are removed
-; the range is (00000..65565 - two bytes)
-
-    ldy #4  ; there will be 5 digits
-NextDigit
-    ldx #16 ; 16-bit dividee so Rotate 16 times
-    lda #$00
-Rotate000
-    aslw decimal
-    rol  ; scroll dividee
-    ; (as highest byte - additional - byte is A)
-    cmp #10  ; divider
-    bcc TooLittle000 ; if A is smaller than divider
-    ; there is nothing to substract
-    sbc #10  ; divider
-    inc decimal     ; lowest bit set to 1
-    ; because it is 0 and this is the fastest way
-TooLittle000 dex
-    bne Rotate000 ; and Rotate 16 times, Result will be in decimal
-    tax  ; and the rest in A
-    ; (and it goes to X because
-    ; it is our decimal digit)
-    lda digits,x
-    sta decimalresult,y
-    dey
-    bpl NextDigit ; Result again /10 and we have next digit
-
-;rightnumber
-    ; displaying without leading zeroes (if zeroes exist then display space at this position)
-    ldy #0
-    ldx #0    ; digit flag (cut leading zeroes)
-displayloop
-    lda decimalresult,y
-    cpx #0
-    bne noleading0
-    cpy #4
-    beq noleading0    ; if 00000 - last 0 must stay
-    cmp zero
-    bne noleading0
-    lda #space
-    beq displaychar    ; space = 0 !
-noleading0
-    inx        ; set flag (no leading zeroes to cut)
-displaychar
-    sta (displayposition),y
-nexdigit
-    iny
-    cpy #5
-    bne displayloop
-
-    rts
-.endp
-;--------------------------------------------------
 .proc RmtSongSelect
 ;  starting song line 0-255 to A reg
 ;--------------------------------------------------
@@ -695,12 +269,12 @@ nexdigit
     spl:lda #song_silencio
 noingame
 */
-    mvx #$ff RMT_blocked
+/*     mvx #$ff RMT_blocked
     ldx #<MODUL                ; low byte of RMT module to X reg
     ldy #>MODUL                ; hi byte of RMT module to Y reg
     jsr RASTERMUSICTRACKER     ; Init
     mva #0 RMT_blocked
-    rts
+ */    rts
 .endp
 ;--------------------------------------------------
 .proc wait_for_depress  ; ion
@@ -712,68 +286,6 @@ noingame
     beq wait_for_depress
     rts
 .endp
-LevelType
-    .byte 0 ; level type $00 - first level, $01 - level from buffer, $ff - title screen  
-Numbers
-    .byte '0123456789'
-digits
-zero
-    .byte "0123456789"
-space = 0
-    .byte " "
-decimal
-    .word 0
-decimalresult
-    .byte "     "
-lineAdrL
-    :margin .byte <marginLine ;8 lines of margin space
-    :maxLines .byte <(display+screenBytes*#)
-    :256-maxLines-1*margin .by <marginLine  ; (display+40*#) ;just to let the plot smear on full .byte ypos
-lineAdrH
-    :margin .byte >marginLine
-    :maxLines .byte >(display+screenBytes*#)
-    :256-maxLines-1*margin .by >marginLine  ; (display+40*#) ;just to let the plot smear on full .byte ypos
-bittable
-    .byte %11110000
-debittable
-    .byte %00001111
-    .byte %11110000
-RNColtable ; Right Nibble color Table
-    .byte %00000000
-    .byte %00000001
-    .byte %00000010
-    .byte %00000011
-    .byte %00000100
-    .byte %00000101
-    .byte %00000110
-    .byte %00000111
-    .byte %00001000
-LNColtable ; Left Nibble color Table
-    .byte %00000000
-    .byte %00010000
-    .byte %00100000
-    .byte %00110000
-    .byte %01000000
-    .byte %01010000
-    .byte %01100000
-    .byte %01110000
-    .byte %10000000
-;--------------------------------
-clear_vars_start
-    ; PUT VARS HERE
-clear_vars_end
-;--------------------------------
-statusBar
-    dta d"rc$"
-hexDump
-    dta d"   dx$"
-dxDisp
-    dta d"   dy$"
-dyDisp
-    dta d"   balls$"
-ballDisp
-    dta d"  "
-marginLine  .ds screenBytes
 ;--------------------------------
 ; names of RMT instruments (sfx)
 ;--------------------------------
diff --git a/lumber.xex b/lumber.xex
new file mode 100644
index 0000000..25dcf30
Binary files /dev/null and b/lumber.xex differ
