Compare commits
2 Commits
69d42084f2
...
fb90122c49
Author | SHA1 | Date |
---|---|---|
Your Name | fb90122c49 | 5 years ago |
Your Name | 04bd31ca35 | 5 years ago |
@ -0,0 +1,233 @@
|
||||
Disk /dev/loop0: 4.7 MiB, 4927488 bytes, 9624 sectors
|
||||
Units: sectors of 1 * 512 = 512 bytes
|
||||
Sector size (logical/physical): 512 bytes / 512 bytes
|
||||
I/O size (minimum/optimal): 512 bytes / 512 bytes
|
||||
|
||||
|
||||
Disk /dev/loop1: 3.7 MiB, 3846144 bytes, 7512 sectors
|
||||
Units: sectors of 1 * 512 = 512 bytes
|
||||
Sector size (logical/physical): 512 bytes / 512 bytes
|
||||
I/O size (minimum/optimal): 512 bytes / 512 bytes
|
||||
|
||||
|
||||
Disk /dev/loop2: 140.7 MiB, 147496960 bytes, 288080 sectors
|
||||
Units: sectors of 1 * 512 = 512 bytes
|
||||
Sector size (logical/physical): 512 bytes / 512 bytes
|
||||
I/O size (minimum/optimal): 512 bytes / 512 bytes
|
||||
|
||||
|
||||
Disk /dev/loop3: 174 MiB, 182419456 bytes, 356288 sectors
|
||||
Units: sectors of 1 * 512 = 512 bytes
|
||||
Sector size (logical/physical): 512 bytes / 512 bytes
|
||||
I/O size (minimum/optimal): 512 bytes / 512 bytes
|
||||
|
||||
|
||||
Disk /dev/loop4: 53.7 MiB, 56315904 bytes, 109992 sectors
|
||||
Units: sectors of 1 * 512 = 512 bytes
|
||||
Sector size (logical/physical): 512 bytes / 512 bytes
|
||||
I/O size (minimum/optimal): 512 bytes / 512 bytes
|
||||
|
||||
|
||||
Disk /dev/loop5: 180.2 MiB, 188928000 bytes, 369000 sectors
|
||||
Units: sectors of 1 * 512 = 512 bytes
|
||||
Sector size (logical/physical): 512 bytes / 512 bytes
|
||||
I/O size (minimum/optimal): 512 bytes / 512 bytes
|
||||
|
||||
|
||||
Disk /dev/loop6: 140.7 MiB, 147496960 bytes, 288080 sectors
|
||||
Units: sectors of 1 * 512 = 512 bytes
|
||||
Sector size (logical/physical): 512 bytes / 512 bytes
|
||||
I/O size (minimum/optimal): 512 bytes / 512 bytes
|
||||
|
||||
|
||||
Disk /dev/loop7: 53.7 MiB, 56328192 bytes, 110016 sectors
|
||||
Units: sectors of 1 * 512 = 512 bytes
|
||||
Sector size (logical/physical): 512 bytes / 512 bytes
|
||||
I/O size (minimum/optimal): 512 bytes / 512 bytes
|
||||
|
||||
|
||||
Disk /dev/sda: 465.8 GiB, 500107862016 bytes, 976773168 sectors
|
||||
Disk model: HGST HTS725050A7
|
||||
Units: sectors of 1 * 512 = 512 bytes
|
||||
Sector size (logical/physical): 512 bytes / 4096 bytes
|
||||
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
|
||||
Disklabel type: dos
|
||||
Disk identifier: 0xe2dc99ec
|
||||
|
||||
Device Boot Start End Sectors Size Id Type
|
||||
/dev/sda1 * 2048 1026047 1024000 500M 7 HPFS/NTFS/exFAT
|
||||
/dev/sda2 1026048 490772479 489746432 233.5G 7 HPFS/NTFS/exFAT
|
||||
/dev/sda3 490774526 976771071 485996546 231.8G 5 Extended
|
||||
/dev/sda5 490774528 960620543 469846016 224G 83 Linux
|
||||
/dev/sda6 960622592 976771071 16148480 7.7G 82 Linux swap / Solaris
|
||||
|
||||
|
||||
|
||||
Disk /dev/loop8: 1008 KiB, 1032192 bytes, 2016 sectors
|
||||
Units: sectors of 1 * 512 = 512 bytes
|
||||
Sector size (logical/physical): 512 bytes / 512 bytes
|
||||
I/O size (minimum/optimal): 512 bytes / 512 bytes
|
||||
|
||||
|
||||
Disk /dev/loop9: 3.7 MiB, 3821568 bytes, 7464 sectors
|
||||
Units: sectors of 1 * 512 = 512 bytes
|
||||
Sector size (logical/physical): 512 bytes / 512 bytes
|
||||
I/O size (minimum/optimal): 512 bytes / 512 bytes
|
||||
|
||||
|
||||
Disk /dev/loop10: 3.7 MiB, 3821568 bytes, 7464 sectors
|
||||
Units: sectors of 1 * 512 = 512 bytes
|
||||
Sector size (logical/physical): 512 bytes / 512 bytes
|
||||
I/O size (minimum/optimal): 512 bytes / 512 bytes
|
||||
|
||||
|
||||
Disk /dev/loop11: 4 MiB, 4214784 bytes, 8232 sectors
|
||||
Units: sectors of 1 * 512 = 512 bytes
|
||||
Sector size (logical/physical): 512 bytes / 512 bytes
|
||||
I/O size (minimum/optimal): 512 bytes / 512 bytes
|
||||
|
||||
|
||||
Disk /dev/loop12: 14.8 MiB, 15458304 bytes, 30192 sectors
|
||||
Units: sectors of 1 * 512 = 512 bytes
|
||||
Sector size (logical/physical): 512 bytes / 512 bytes
|
||||
I/O size (minimum/optimal): 512 bytes / 512 bytes
|
||||
|
||||
|
||||
Disk /dev/loop13: 34.8 MiB, 36503552 bytes, 71296 sectors
|
||||
Units: sectors of 1 * 512 = 512 bytes
|
||||
Sector size (logical/physical): 512 bytes / 512 bytes
|
||||
I/O size (minimum/optimal): 512 bytes / 512 bytes
|
||||
|
||||
|
||||
Disk /dev/loop14: 35.3 MiB, 37027840 bytes, 72320 sectors
|
||||
Units: sectors of 1 * 512 = 512 bytes
|
||||
Sector size (logical/physical): 512 bytes / 512 bytes
|
||||
I/O size (minimum/optimal): 512 bytes / 512 bytes
|
||||
|
||||
|
||||
Disk /dev/loop15: 174.5 MiB, 182951936 bytes, 357328 sectors
|
||||
Units: sectors of 1 * 512 = 512 bytes
|
||||
Sector size (logical/physical): 512 bytes / 512 bytes
|
||||
I/O size (minimum/optimal): 512 bytes / 512 bytes
|
||||
|
||||
|
||||
Disk /dev/loop16: 171.8 MiB, 180133888 bytes, 351824 sectors
|
||||
Units: sectors of 1 * 512 = 512 bytes
|
||||
Sector size (logical/physical): 512 bytes / 512 bytes
|
||||
I/O size (minimum/optimal): 512 bytes / 512 bytes
|
||||
|
||||
|
||||
Disk /dev/loop17: 34.6 MiB, 36216832 bytes, 70736 sectors
|
||||
Units: sectors of 1 * 512 = 512 bytes
|
||||
Sector size (logical/physical): 512 bytes / 512 bytes
|
||||
I/O size (minimum/optimal): 512 bytes / 512 bytes
|
||||
|
||||
|
||||
Disk /dev/loop18: 174.3 MiB, 182808576 bytes, 357048 sectors
|
||||
Units: sectors of 1 * 512 = 512 bytes
|
||||
Sector size (logical/physical): 512 bytes / 512 bytes
|
||||
I/O size (minimum/optimal): 512 bytes / 512 bytes
|
||||
|
||||
|
||||
Disk /dev/loop19: 14.5 MiB, 15208448 bytes, 29704 sectors
|
||||
Units: sectors of 1 * 512 = 512 bytes
|
||||
Sector size (logical/physical): 512 bytes / 512 bytes
|
||||
I/O size (minimum/optimal): 512 bytes / 512 bytes
|
||||
|
||||
|
||||
Disk /dev/loop20: 89.4 MiB, 93720576 bytes, 183048 sectors
|
||||
Units: sectors of 1 * 512 = 512 bytes
|
||||
Sector size (logical/physical): 512 bytes / 512 bytes
|
||||
I/O size (minimum/optimal): 512 bytes / 512 bytes
|
||||
|
||||
|
||||
Disk /dev/loop21: 89.3 MiB, 93581312 bytes, 182776 sectors
|
||||
Units: sectors of 1 * 512 = 512 bytes
|
||||
Sector size (logical/physical): 512 bytes / 512 bytes
|
||||
I/O size (minimum/optimal): 512 bytes / 512 bytes
|
||||
|
||||
|
||||
Disk /dev/loop22: 88.4 MiB, 92733440 bytes, 181120 sectors
|
||||
Units: sectors of 1 * 512 = 512 bytes
|
||||
Sector size (logical/physical): 512 bytes / 512 bytes
|
||||
I/O size (minimum/optimal): 512 bytes / 512 bytes
|
||||
|
||||
|
||||
Disk /dev/loop23: 4.7 MiB, 4927488 bytes, 9624 sectors
|
||||
Units: sectors of 1 * 512 = 512 bytes
|
||||
Sector size (logical/physical): 512 bytes / 512 bytes
|
||||
I/O size (minimum/optimal): 512 bytes / 512 bytes
|
||||
|
||||
|
||||
Disk /dev/loop24: 4 MiB, 4218880 bytes, 8240 sectors
|
||||
Units: sectors of 1 * 512 = 512 bytes
|
||||
Sector size (logical/physical): 512 bytes / 512 bytes
|
||||
I/O size (minimum/optimal): 512 bytes / 512 bytes
|
||||
|
||||
|
||||
Disk /dev/loop25: 4.7 MiB, 4927488 bytes, 9624 sectors
|
||||
Units: sectors of 1 * 512 = 512 bytes
|
||||
Sector size (logical/physical): 512 bytes / 512 bytes
|
||||
I/O size (minimum/optimal): 512 bytes / 512 bytes
|
||||
|
||||
|
||||
Disk /dev/loop26: 130 MiB, 136286208 bytes, 266184 sectors
|
||||
Units: sectors of 1 * 512 = 512 bytes
|
||||
Sector size (logical/physical): 512 bytes / 512 bytes
|
||||
I/O size (minimum/optimal): 512 bytes / 512 bytes
|
||||
|
||||
|
||||
Disk /dev/loop27: 53.7 MiB, 56315904 bytes, 109992 sectors
|
||||
Units: sectors of 1 * 512 = 512 bytes
|
||||
Sector size (logical/physical): 512 bytes / 512 bytes
|
||||
I/O size (minimum/optimal): 512 bytes / 512 bytes
|
||||
|
||||
|
||||
Disk /dev/loop28: 151 MiB, 158363648 bytes, 309304 sectors
|
||||
Units: sectors of 1 * 512 = 512 bytes
|
||||
Sector size (logical/physical): 512 bytes / 512 bytes
|
||||
I/O size (minimum/optimal): 512 bytes / 512 bytes
|
||||
|
||||
|
||||
Disk /dev/loop29: 14.8 MiB, 15458304 bytes, 30192 sectors
|
||||
Units: sectors of 1 * 512 = 512 bytes
|
||||
Sector size (logical/physical): 512 bytes / 512 bytes
|
||||
I/O size (minimum/optimal): 512 bytes / 512 bytes
|
||||
|
||||
|
||||
Disk /dev/loop30: 140.7 MiB, 147496960 bytes, 288080 sectors
|
||||
Units: sectors of 1 * 512 = 512 bytes
|
||||
Sector size (logical/physical): 512 bytes / 512 bytes
|
||||
I/O size (minimum/optimal): 512 bytes / 512 bytes
|
||||
|
||||
|
||||
Disk /dev/loop31: 1008 KiB, 1032192 bytes, 2016 sectors
|
||||
Units: sectors of 1 * 512 = 512 bytes
|
||||
Sector size (logical/physical): 512 bytes / 512 bytes
|
||||
I/O size (minimum/optimal): 512 bytes / 512 bytes
|
||||
|
||||
|
||||
Disk /dev/loop32: 151 MiB, 158347264 bytes, 309272 sectors
|
||||
Units: sectors of 1 * 512 = 512 bytes
|
||||
Sector size (logical/physical): 512 bytes / 512 bytes
|
||||
I/O size (minimum/optimal): 512 bytes / 512 bytes
|
||||
|
||||
|
||||
Disk /dev/loop33: 2.3 MiB, 2355200 bytes, 4600 sectors
|
||||
Units: sectors of 1 * 512 = 512 bytes
|
||||
Sector size (logical/physical): 512 bytes / 512 bytes
|
||||
I/O size (minimum/optimal): 512 bytes / 512 bytes
|
||||
|
||||
|
||||
Disk /dev/loop34: 174.3 MiB, 182808576 bytes, 357048 sectors
|
||||
Units: sectors of 1 * 512 = 512 bytes
|
||||
Sector size (logical/physical): 512 bytes / 512 bytes
|
||||
I/O size (minimum/optimal): 512 bytes / 512 bytes
|
||||
|
||||
|
||||
Disk /dev/mapper/cryptswap1: 7.7 GiB, 8267497472 bytes, 16147456 sectors
|
||||
Units: sectors of 1 * 512 = 512 bytes
|
||||
Sector size (logical/physical): 512 bytes / 4096 bytes
|
||||
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
|
||||
|
||||
|
@ -0,0 +1,406 @@
|
||||
[org 0x1000]
|
||||
|
||||
start:
|
||||
mov [bootdev], dl
|
||||
mov bx, 0
|
||||
mov [helpon], bx
|
||||
mov ah, 01h ;make cursor invisible
|
||||
mov cx, 2607h
|
||||
int 10h
|
||||
|
||||
mov ah, 06h ; Scroll up function
|
||||
xor al, al ; Clear entire screen
|
||||
xor cx, cx ; Upper left corner CH=row, CL=column
|
||||
mov dx, 184FH ; lower right corner DH=row, DL=column
|
||||
mov bh, 1Eh ; YellowOnBlue
|
||||
int 10H ; execute interrupt
|
||||
|
||||
mov ah, 06h; top bar, make background
|
||||
xor cx, cx
|
||||
mov dx, 0x004F
|
||||
mov bh, 30h
|
||||
int 10h
|
||||
|
||||
|
||||
mov ah, 02h ;top bar setting the position and then write title $
|
||||
mov bh, 0h
|
||||
mov dh, 0h
|
||||
mov dl, 20h
|
||||
int 10h
|
||||
|
||||
mov si, title
|
||||
call print
|
||||
|
||||
|
||||
mov ah, 06h ;draw rect on background
|
||||
mov cx, 0201h
|
||||
mov dx, 124Dh
|
||||
mov bh, 3Eh
|
||||
int 10h
|
||||
call drawshadow
|
||||
|
||||
; menu bottom
|
||||
mov ah, 06h ;draw rect on background
|
||||
mov cx, 1700h
|
||||
mov dx, 184Fh
|
||||
mov bh, 3Fh
|
||||
int 10h
|
||||
|
||||
mov ah, 02h ;sets cursor to top to write
|
||||
mov bh, 0h
|
||||
mov dh, 17h
|
||||
mov dl, 2h
|
||||
int 10h
|
||||
mov si, menuhelp
|
||||
call print
|
||||
|
||||
mov si, menuselect
|
||||
call print
|
||||
|
||||
mov si, menuexit
|
||||
call print
|
||||
|
||||
mov si, menuenter
|
||||
call print
|
||||
|
||||
mov ah, 02h ;sets cursor to top to write
|
||||
mov bh, 0h
|
||||
mov dh, 4h
|
||||
mov dl, 4h
|
||||
int 10h
|
||||
|
||||
mov si, msg1
|
||||
call print
|
||||
|
||||
|
||||
print_projects:
|
||||
mov ah, 02h ;sets cursor to top to write
|
||||
mov bh, 0h
|
||||
mov dh, 6h ;row
|
||||
mov dl, 4h ;col
|
||||
int 10h
|
||||
|
||||
xor bx, bx ; Starting at offset zero
|
||||
lea di, [projects] ; RDI now has the address of the array
|
||||
|
||||
.loop
|
||||
mov [storebx], bx
|
||||
mov ah, 02h
|
||||
;mov bh, 0h
|
||||
add dh, 1h ;move cursor down
|
||||
mov dl, 4h;
|
||||
int 10h
|
||||
|
||||
mov ax, [currentselection]
|
||||
cmp ax, bx
|
||||
jne .normalbackground
|
||||
mov ah, 06h ;draw rect on background
|
||||
mov ch, dh
|
||||
mov cl, 4h
|
||||
mov dl, 24h
|
||||
mov bh, 7Ch
|
||||
int 10h
|
||||
jmp .drawstring
|
||||
|
||||
.normalbackground
|
||||
mov ah, 06h ;draw rect on background
|
||||
mov ch, dh
|
||||
mov cl, 4h
|
||||
mov dl, 24h
|
||||
mov bh, 1Eh
|
||||
int 10h
|
||||
jmp .drawstring
|
||||
|
||||
.drawstring
|
||||
mov bx, [storebx]
|
||||
mov si, [di+bx] ; Get the address of string1
|
||||
call print
|
||||
add bx, 8
|
||||
cmp bx, 48
|
||||
jne .loop
|
||||
|
||||
jmp waitforkey
|
||||
|
||||
|
||||
waitforkey:
|
||||
mov ah, 0x00
|
||||
int 0x16
|
||||
cmp ah, 1Fh
|
||||
je .up
|
||||
cmp ah, 11h
|
||||
je .down
|
||||
cmp ah, 1Ch
|
||||
je loadproject
|
||||
cmp ah, 01h
|
||||
je goback
|
||||
cmp ah, 3Bh
|
||||
je help
|
||||
jmp waitforkey
|
||||
|
||||
.up
|
||||
mov ax, [currentselection]
|
||||
cmp ax, 40
|
||||
je .reup
|
||||
add ax, 8
|
||||
mov [currentselection], ax
|
||||
jmp print_projects
|
||||
|
||||
.reup
|
||||
mov ax, 0
|
||||
mov [currentselection], ax
|
||||
jmp print_projects
|
||||
|
||||
|
||||
.down
|
||||
mov ax, [currentselection]
|
||||
cmp ax, 0
|
||||
je .redown
|
||||
sub ax, 8
|
||||
mov [currentselection], ax
|
||||
jmp print_projects
|
||||
|
||||
.redown
|
||||
mov ax, 40
|
||||
mov [currentselection], ax
|
||||
jmp print_projects
|
||||
|
||||
|
||||
help:
|
||||
mov bx, 1
|
||||
mov [helpon], bx
|
||||
mov ah, 06h ;draw rect on background
|
||||
mov cx, 040Fh
|
||||
mov dx, 113Eh
|
||||
mov bh, 70h
|
||||
int 10h
|
||||
push dx
|
||||
push cx
|
||||
mov si, helptext
|
||||
call printinrect
|
||||
pop cx
|
||||
pop dx
|
||||
call drawshadow
|
||||
jmp waitforkey
|
||||
|
||||
|
||||
loadproject:
|
||||
mov bx, [currentselection]
|
||||
cmp bx, 0
|
||||
je .one
|
||||
cmp bx, 8
|
||||
je .two
|
||||
cmp bx, 16
|
||||
je .three
|
||||
cmp bx, 24
|
||||
je .four
|
||||
cmp bx, 32
|
||||
je .five
|
||||
cmp bx, 40
|
||||
je .six
|
||||
|
||||
jmp waitforkey
|
||||
|
||||
.one
|
||||
mov bx, 0x2000 ; BX = 0x1000. ES:BX=0x0:0x1000
|
||||
mov cl, 05 ; Sector to read = 4
|
||||
jmp load
|
||||
.two
|
||||
mov bx, 0x3000 ; BX = 0x1000. ES:BX=0x0:0x1000
|
||||
mov cl, 06 ; Sector to read = 4
|
||||
jmp load
|
||||
.three
|
||||
mov bx, 0x4000 ; BX = 0x1000. ES:BX=0x0:0x1000
|
||||
mov cl, 07 ; Sector to read = 4
|
||||
jmp load
|
||||
.four
|
||||
mov bx, 0x5000 ; BX = 0x1000. ES:BX=0x0:0x1000
|
||||
mov cl, 08 ; Sector to read = 4
|
||||
jmp load
|
||||
.five
|
||||
mov bx, 0x6000 ; BX = 0x1000. ES:BX=0x0:0x1000
|
||||
mov cl, 09 ; Sector to read = 4
|
||||
jmp load
|
||||
.six
|
||||
mov bx, 0x7000 ; BX = 0x1000. ES:BX=0x0:0x1000
|
||||
mov cl, 10 ; Sector to read = 4
|
||||
jmp load
|
||||
|
||||
|
||||
load:
|
||||
pushf
|
||||
stc
|
||||
|
||||
mov ah,00
|
||||
int 13h
|
||||
|
||||
.read_sector:
|
||||
mov ax, 0x0
|
||||
mov es, ax ; ES = 0
|
||||
; ES:BX = starting address to read sector(s) in$
|
||||
mov ah, 02 ; Int 13h/AH=2 = Read Sectors From Drive;
|
||||
mov al, 0x01 ; Sectors to read = 1
|
||||
mov ch, 00 ; CH=Cylinder. Second sector of disk
|
||||
; is at Cylinder 0 not 1
|
||||
mov dh, 00 ; Head to read = 0
|
||||
|
||||
mov dl, [bootdev]
|
||||
int 13h
|
||||
|
||||
|
||||
jc wolf_error
|
||||
popf
|
||||
jmp bx
|
||||
cli
|
||||
hlt
|
||||
|
||||
|
||||
|
||||
wolf_error:
|
||||
mov si, wolf_error_msg
|
||||
call print
|
||||
mov si, wolf_error_msg1
|
||||
call print
|
||||
mov ah,00
|
||||
int 16h
|
||||
xor ax,ax
|
||||
int 19h
|
||||
|
||||
;------------;
|
||||
;ch=row ;
|
||||
;cl=column ;
|
||||
;dh=row ;
|
||||
;dl=column ;
|
||||
;------------;
|
||||
|
||||
drawshadow:
|
||||
push cx
|
||||
push dx
|
||||
mov al, dl
|
||||
mov ah, ch
|
||||
inc ah
|
||||
inc al
|
||||
mov cx, ax
|
||||
mov bl, dl
|
||||
mov bh, dh
|
||||
inc bl
|
||||
inc bh
|
||||
mov dx, bx
|
||||
mov ah, 06h ;draw shadow
|
||||
mov bh, 0Ch
|
||||
int 10h
|
||||
pop dx
|
||||
pop cx
|
||||
|
||||
mov al, cl
|
||||
mov ah, dh
|
||||
inc ah
|
||||
inc al
|
||||
mov cx, ax
|
||||
mov bl, dl
|
||||
mov bh, dh
|
||||
inc bl
|
||||
inc bh
|
||||
mov dx, bx
|
||||
mov ah, 06h ;draw shadow
|
||||
mov bh, 0Ch
|
||||
int 10h
|
||||
|
||||
ret
|
||||
|
||||
printinrect:
|
||||
push cx
|
||||
mov bx, dx
|
||||
push bx
|
||||
mov ah, 02h ;sets cursor to top to write
|
||||
mov bh, 0h
|
||||
mov dh, ch
|
||||
mov dl, cl
|
||||
int 10h
|
||||
.loop:
|
||||
lodsb ; load next char
|
||||
mov bh, 0
|
||||
mov ah, 0x03
|
||||
int 10h ;read cursor position
|
||||
push dx
|
||||
or al,al
|
||||
jz .exit
|
||||
mov ah, 0x0e
|
||||
mov bh, 0x00
|
||||
mov cx, 0x01
|
||||
int 10h
|
||||
pop dx
|
||||
pop bx
|
||||
cmp dl, bl
|
||||
je .newline
|
||||
push bx
|
||||
jmp .loop
|
||||
.exit:
|
||||
pop dx
|
||||
pop bx
|
||||
pop cx
|
||||
ret
|
||||
.newline:
|
||||
pop cx
|
||||
push bx
|
||||
mov dl, cl ;set column
|
||||
inc dh ;increment row by one, works!
|
||||
mov ah, 02h ;sets cursor
|
||||
mov bh, 0h ;page number 0 constant
|
||||
int 10h
|
||||
pop bx
|
||||
push cx
|
||||
push bx
|
||||
jmp .loop
|
||||
|
||||
print:
|
||||
lodsb
|
||||
or al,al
|
||||
jz .exit
|
||||
mov ah,0x0e
|
||||
int 10h
|
||||
jmp print
|
||||
.exit:
|
||||
ret
|
||||
|
||||
goback:
|
||||
mov dl, [bootdev]
|
||||
mov ax, [helpon]
|
||||
cmp ax, 1
|
||||
je start
|
||||
jmp 0x0:0x7c00
|
||||
hlt
|
||||
|
||||
helpon dw 0
|
||||
|
||||
msg1 db "ARTIST / TITLE",0
|
||||
|
||||
project1 db "Alex / Poetic Software",0
|
||||
project2 db "Alice / f00d",0
|
||||
project3 db "Angeliki / Voices", 0
|
||||
project4 db "Joca / Ghost in the Speaker", 0
|
||||
project5 db "Tash / Silence making", 0
|
||||
project6 db "Zalan / Phantasmagoria", 0
|
||||
|
||||
projects dq project1, project2, project3, project4, project5, project6
|
||||
|
||||
helptext db "NOT MY DEFAULT arises from the defaults of computers. In every application there are settings predefined by their creators, that most of the times stay untouched by us, as users. It's their default, not ours, but it's our fault when we don't change it. Society is made of similar preset frameworks that we take for granted. The graduation projects engage with these different default modes and intervene in their core structure/source/root. You are invited to become root users, active listeners, smart speakers, conscious food consumers, counter trolls, sensorial spectators!",0
|
||||
|
||||
menuhelp db "F1 Help", 0
|
||||
menuselect db " W/S Select Item",0
|
||||
menuexit db 0x0D,0x0A," ESC Exit", 0
|
||||
menuenter db " Enter Select",0
|
||||
|
||||
title db 'NOT MY DEFAULT',0
|
||||
|
||||
wolf_error_msg db 'Program not found!',0x0D,0x0A,0
|
||||
wolf_error_msg1 db 'Press any key to restart..',0
|
||||
|
||||
currentselection dw 0
|
||||
storebx dw 0
|
||||
|
||||
bootdev db 0x80 ; Boot device number
|
||||
|
||||
%assign usedMemory ($-$$)
|
||||
%assign usableMemory (512*16)
|
||||
%warning [usedMemory/usableMemory] Bytes used
|
||||
times (512*16)-($-$$) db 0 ;kernel must have size multiple of 512 so let's pad it to the correct size
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue