diff --git a/wip-hugo/README.md b/wip-hugo/README.md
new file mode 100755
index 0000000..c8d26a4
--- /dev/null
+++ b/wip-hugo/README.md
@@ -0,0 +1,50 @@
+# comodore64
+
+# JUST F*** RUN ¯\\\_(ツ)_/¯
+in terminal run
+```
+\. run.sh
+```
+## Debug
+Vice --> Activate Monitor
+
+## Chitty endian
+2 bits 00 88 --> real world 8800
+
+# Resourses
+
+## Compiler
+[cc65](https://cc65.github.io/doc/ca65.html#ss4.1)
+
+## Comodore 64 Wiki
+[wiki](https://www.c64-wiki.com/wiki/Memory_Map)
+
+## ASEMBLY 6502 instruction set
+[good (expansive)](https://www.masswerk.at/6502/6502_instruction_set.html#CLD)
+[wikipedia (minimalistic)](https://en.wikibooks.org/wiki/6502_Assembly)
+
+
+
+### sprites
+[sprite](https://www.c64-wiki.com/wiki/Sprite#Sprite_priority)
+
+[sprite multiplex ](https://www.c64-wiki.com/wiki/Raster_interruptg)
+
+[sprite multiplex x2](http://selmiak.bplaced.net/games/c64/index.php?lang=eng&game=Tutorials&page=Sprite-Multiplexing)
+
+## Documentation of the vic chip
+[text](https://www.zimmers.net/cbmpics/cbm/c64/vic-ii.txt)
+[vic](https://csdb.dk/release/?id=154952)
+
+### Holding hand instructions :)
+[codeburst hard asembly code](https://codeburst.io/lets-write-some-harder-assembly-language-code-c7860dcceba)
+
+[flag intro](http://www.6502.org/tutorials/vflag.html)
+
+
+
+## Basic
+[peek and poke](https://en.wikipedia.org/wiki/PEEK_and_POKE)
+
+# Cool unexplored tools
+[text](https://style64.org/cbmdisk/documentation/)
\ No newline at end of file
diff --git a/wip-hugo/STARTUP.s b/wip-hugo/STARTUP.s
new file mode 100755
index 0000000..f4d5112
--- /dev/null
+++ b/wip-hugo/STARTUP.s
@@ -0,0 +1,99 @@
+
+
+;Settings positions
+
+CR1 = $d011; ;Grafic settings
+VIC_bank_settings = $DD00 ; Vic position
+Screen_RAM_settings =$D018 ;Screan ram position relative to vic
+
+
+
+;########## VIC_BANK ################
+;#	BITMAP | $4000 -$5F3F
+;#  Unused? |  $5F3F - $6000
+;#	SCREAN RAM (color) | $6000 -$63E7
+;#  Unused? | $63E8 - $7FFF
+;#
+;####################################
+
+;Memory positions
+
+VIC_bank = $4000
+VIC_bank_end = VIC_bank + $3FFF
+
+Bitmap = VIC_bank
+Bitmap_end = $5F3F
+
+Screen_RAM = $2000 + VIC_bank
+Screen_RAM_end = Screen_RAM + $03E7
+
+;Free upp memory
+;https://www.c64-wiki.com/wiki/Bank_Switching
+;
+;
+
+
+;Sets grafic mode [Standard bitmap mode]
+;https://www.c64-wiki.com/wiki/Standard_Bitmap_Mode
+LDA #%10111111 ; ECM = False
+AND CR1
+STA CR1
+
+LDA #%00100000; BMM = True
+ORA CR1
+STA CR1
+
+
+; Set VIC bank to bank 1
+;https://www.c64-wiki.com/wiki/VIC_bank
+LDA #%11111110 ;bit_0 = False
+AND VIC_bank_settings
+STA VIC_bank_settings
+
+LDA #%00000010; bit_1 = True
+ORA VIC_bank_settings
+STA VIC_bank_settings
+
+;Set Scren-RAM to offset 8 ;https://www.c64-wiki.com/wiki/53272   (offset is 8k byte = 1024*8-ich)
+LDA #%10001111 ; bit_6 =bit_5=bit_4 = Falsw
+AND Screen_RAM_settings
+STA Screen_RAM_settings
+
+LDA #%10000000; bit_1 = True
+ORA Screen_RAM_settings
+STA Screen_RAM_settings
+
+
+;Paint the bitmap black. More bitmap: https://www.c64-wiki.com/wiki/53272, https://www.c64-wiki.com/wiki/Screen_RAM#Moving_of_screen_RAM
+
+LDA #>VIC_bank
+STA $FC
+LDA #<VIC_bank
+STA $FB
+
+LDA #>$5f3f
+STA $FE
+LDA #<$5f3f
+STA $FD
+
+LDA #$0
+jsr memory_rec
+
+;Sets the screen color to black and white
+LDA #>Screen_RAM
+STA $FC
+LDA #<Screen_RAM
+STA $FB
+
+LDA #>Screen_RAM_end
+STA $FE
+LDA #<Screen_RAM_end
+STA $FD
+
+LDA #%11110000
+jsr memory_rec
+
+;Converting basic ROM to RAM mohahah
+LDA #$36 ; 00110110
+STA $0001
+CLI ;Disable interups (not all)
diff --git a/wip-hugo/macros/16aritmatic.s b/wip-hugo/macros/16aritmatic.s
new file mode 100755
index 0000000..6447477
--- /dev/null
+++ b/wip-hugo/macros/16aritmatic.s
@@ -0,0 +1,48 @@
+
+.macro Add_16 a_low, a_hi, b_low, b_hi  ; a = a + b
+	CLC 
+	LDA b_low
+	ADC a_low
+	STA a_low
+	LDA b_hi
+	ADC a_hi
+	STA a_hi
+.endmacro
+
+.macro mult_16 low_, hi_  ; [low, hi] = [low, hi]*2
+	CLC
+	ROL low_
+	ROL hi_
+.endmacro
+
+;
+;.proc Sub_abs_8 ;return, primary, secondary
+;	LDA primary
+;	SEC
+;	SBC secondary
+;	BPL end_;we got z positive result
+;	LDA secondary
+;	SEC
+;	SBC primary
+;	end_:
+;	STA return
+;.endproc
+;
+;.proc poer ;low, hi, in  ; [low, hi] = [in]^2
+;	LDY in
+;	STY low
+;	LDA #$00
+;	STA hi
+;	;pow:
+;	DEY ; count = count -1
+;	BEQ y_pow_end; 
+;	CLC
+;	LDA in
+;	ADC low
+;	STA low
+;	LDA #$00
+;	ADC hi
+;	STA hi
+;	;jmp pow
+;	y_pow_end:
+;.endproc
\ No newline at end of file
diff --git a/wip-hugo/routines/memory/line_down.s b/wip-hugo/routines/memory/line_down.s
new file mode 100644
index 0000000..f3b4261
--- /dev/null
+++ b/wip-hugo/routines/memory/line_down.s
@@ -0,0 +1,81 @@
+;drawing line from 2 cordinates
+.proc line
+testing:
+    ;#  (X_pos, Y_pos)                                 #
+    ;#                     *                               #
+    ;#                         *                           #
+    ;#                             *                       #
+    ;#                                (X_end, Y_end)       #
+    ;
+    ; NOTE THAT X_pos <= X_end and line is going downwords   max 45deg!
+
+    ;Not values but register position in memory
+    X_end = $04
+    Y_end = $05
+    X_pos = $FC
+    Y_pos = $FB
+    dy = $06
+    dx = $07
+    D = $08
+
+
+    ;Set values
+    LDA #$00
+    STA $FD ; for pixel_draw
+
+    ;example values ~~~~~ SHOULD BE PRECOMPILED
+    LDA #$00
+    STA X_pos
+    STA Y_pos
+
+    LDA #$50
+    STA X_end
+    STA dx
+    LDA #$40
+    STA Y_end
+    STA dy
+    LDA #($40 + $40 - $50 )
+    STA D ; = 2*dy - dx
+    ; ~~~~~~~
+
+    for_x:
+        jsr pixel_draw
+        LDY D ; FOR DEBUG
+
+        ; If D <= 0  then: skipp
+        LDX D;
+        DEX
+        BMI case_2
+        case_1:
+        INC Y_pos
+
+
+        ;D = D_before -2*dx
+        LDA dx
+        ROL A
+        TAX
+        LDA D
+        STX D ; D = -2*dx, A = D_before
+        SEC
+        SBC D ; A = D_before -2*dx
+        STA D;
+        jmp last
+        case_2:
+        ;D = D + 2*dx
+        LDA dx
+        ROL
+        CLC
+        ADC D
+        STA D
+        last:
+        CMP #$00
+       ; increment x untill x == large
+        INC X_pos
+        LDA X_pos
+        CMP #199
+        BEQ end
+        JMP for_x
+    end:
+    jmp testing
+
+   .endproc
diff --git a/wip-hugo/routines/memory/memory_rec.s b/wip-hugo/routines/memory/memory_rec.s
new file mode 100755
index 0000000..8bc00b8
--- /dev/null
+++ b/wip-hugo/routines/memory/memory_rec.s
@@ -0,0 +1,48 @@
+
+;##### HANDLES BIG MEMORY MANAGMENTS ############
+ ;recursive write to memory.
+.proc memory_rec
+
+	;Writes data in A
+	;Adress start: $FC, $FB
+	;Adress end:   $FE, $FD
+
+	; Example [ $FC =$44, $FB =$00, $FE =$45, $FD =$01, A =0]
+	; writes zeros in memory from $4400 to $4501.
+
+	;put what to recursive write in Y.
+	LDX #$0
+	TAY
+
+
+	loop:
+	;write to byte
+	TYA
+	STA ($FB ,X)
+	TAY
+
+	Add_16 $FB, $FC, #$01, #$00
+
+	LDA $FB
+	CMP $FD
+	BEQ test_1
+	jmp loop
+
+	test_1:
+	LDA $FC
+	CMP $FE
+	BEQ test_2
+	jmp loop
+
+	test_2:
+
+	;Dont forget to rewrite last byte
+
+	TYA
+	STA ($FB, X)
+	RTS
+.endproc
+
+
+
+
diff --git a/wip-hugo/routines/memory/pixel_draw.s b/wip-hugo/routines/memory/pixel_draw.s
new file mode 100755
index 0000000..82be3d7
--- /dev/null
+++ b/wip-hugo/routines/memory/pixel_draw.s
@@ -0,0 +1,90 @@
+; Screen print. Draws a pixel at a specified position.
+.proc pixel_draw; Draws a pixel at  [Y = FB , X = FC, FD].  Y = 0 - 320, X= 0 - 200
+;write_byte = 00010000,
+
+	LDA $FC ; X (mod 8)
+	AND #%00000111
+
+	;Store pixel in byte
+	TAX
+	LDA #%10000000
+	INX
+	tt:
+	DEX
+	BEQ end__;Y=0 end this
+	CLC 
+	ROR A
+	jmp tt
+	end__:
+
+	STA $FE
+
+	;FIND THE POSITION IN MEMORY TO WRITE PIXEL
+
+	; + + + + + >  X
+	; +
+	; +
+	;\/  
+	; Y
+	;
+	; Let be this position in memory be stored in [$49, $4A] temporaraly
+	
+
+	; pos = x_offset
+
+	LDA #%11111000
+	AND $FC
+	STA $49
+
+	LDA $FD
+	STA $4A
+
+	; y_offset because chuncks aka y_offset_bc
+	LDA #%00000111 ; A = y (mod 8)
+	AND $FB
+
+	; pos += y_offset_bc
+	CLC 
+	ADC $49
+	STA $49
+	LDA #$00
+	ADC $4A
+	STA $4A
+
+
+	LDY $FB
+	LDA #$00
+	STA $4B
+	; y =8 translates to 320 bytes.
+	LDA #%11111000 ; A =  y - [y (mod 8)]
+	AND $FB
+	STA $FB
+	
+	;We need to A = A*40 =A * 2^3 * 5
+
+	; A = A*2^3
+	mult_16 $FB, $4B
+	mult_16 $FB, $4B
+	mult_16 $FB, $4B
+
+	; *5
+	Add_16 $49, $4A, $FB, $4B
+	Add_16 $49, $4A, $FB, $4B
+	Add_16 $49, $4A, $FB, $4B
+	Add_16 $49, $4A, $FB, $4B
+	Add_16 $49, $4A, $FB, $4B
+
+	STY $FB
+
+	;; add offset for where bitmap is
+	Add_16 $49, $4A, #<Bitmap, #>Bitmap
+
+
+	;;Let draw some stuff
+	LDX #$00
+	LDA $FE	
+	ORA ($49, X)
+	STA ($49, X)
+	
+	RTS
+	.endproc
\ No newline at end of file
diff --git a/wip-hugo/run.sh b/wip-hugo/run.sh
new file mode 100755
index 0000000..3f9534c
--- /dev/null
+++ b/wip-hugo/run.sh
@@ -0,0 +1,4 @@
+# !/bin/bash
+pkill -f pulseaudio
+killall x64sc ; cl65 -o file.prg -u __EXEHDR__ -t c64 -C c64-asm.cfg source.s && nohup flatpak run net.sf.VICE -windowypos 0 -windowxpos 960 -windowwidth 945 -windowheight 720 file.prg  </dev/null &>/dev/null &
+#https://vice-emu.sourceforge.io/vice_7.html
diff --git a/wip-hugo/source.s b/wip-hugo/source.s
new file mode 100755
index 0000000..fea7685
--- /dev/null
+++ b/wip-hugo/source.s
@@ -0,0 +1,13 @@
+.include "STARTUP.s"
+.include "macros/16aritmatic.s"
+
+
+.include "routines/memory/line_up.s"
+
+loop_:
+jmp loop_
+
+.include "routines/memory/memory_rec.s"
+.include "routines/memory/pixel_draw.s"
+
+;.include "routines/memory/memory.s"