flat assembler
Message board for the users of flat assembler.
 Home   FAQ   Search   Register 
 Profile   Log in to check your private messages   Log in 
flat assembler > DOS > zymmetry - screen saver project (Version 3.0 DONE!)

Author
Thread Post new topic Reply to topic
mbr_tsr



Joined: 03 Apr 2011
Posts: 4628
zymmetry - screen saver project (Version 3.0 DONE!)

Code:

;============================================================
;ZYMMETRY.ASM
;AMAZING ZYMMETRICAL PATTERN COMPILER VERSION 2.0
;(C)2011/2015 By Shawn T. Cook
;Credit to the original author I lost his name.
;For DOS / Uses int 21h
;Note I am currently working on version 3.0 available soon!
;This allows you to create a screen saver .COM file called 'output.com'.
;To edit output.com Type C:\>output.com 1 (don't forget the 1).
;============================================================
Org 100h
;============================================================
SCREEN_WIDTH  =320           ;160
SCREEN_HEIGHT =200           ;100
X_WIDTH  =(SCREEN_WIDTH  +2)
X_HEIGHT =(SCREEN_HEIGHT +2
;============================================================
MainMenu:
mov  axcs
mov  dsax
mov  esax
mov  fsax
mov  gsax

cld

cmp byte [cs:82h], '1'
je  SkipRun
cmp byte [cs:Running], 1
je Launch

SkipRun:
mov ah0   ;Screen Mode 1
mov al1
int 0x10

mov  ah09
mov  dxSetup
int  21h

mov  sibuff
mov  ah09
mov  dxSetupi0
int  21h
mov  AL,byte [cs:Setup0]
call showhex
mov  ah09
mov  dxSetupi1a
int  21h
mov  AL,byte [cs:Setup1a]
call showhex
mov  ah09
mov  dxSetupi1b
int  21h
mov  AL,byte [cs:Setup1b]
call showhex
mov  ah09
mov  dxSetupi2
int  21h
mov  AL,byte [cs:Setup2]
call showhex
mov  ah09
mov  dxSetupi3
int  21h
mov  AL,byte [cs:Setup3]
call showhex
mov  ah09
mov  dxSetupi4
int  21h
mov  AL,byte [cs:Setup4]
call showhex
mov  ah09
mov  dxSetupi5
int  21h
mov  AL,byte [cs:Setup5]
call showhex
mov  ah09
mov  dxSetupi6
int  21h
mov  AL,byte [cs:Setup6]
call showhex
mov  ah09
mov  dxSetupi7
int  21h
mov  AL,byte [cs:Setup7]
call showhex
mov  ah09
mov  dxSetupi8
int  21h
mov  AL,byte [cs:Setup8]
call showhex
mov  ah09
mov  dxSetupi9
int  21h       
mov  AL,byte [cs:Setup9]
call showhex
mov  ah09
mov  dxSetupia
int  21h
mov  AL,byte [cs:Setupa]
call showhex
mov  ah09
mov  dxSetupib
int  21h
mov  AL,byte [cs:Setupb]
call showhex
mov  dxSetupic
int  21h
mov  AL,byte [cs:Setupc]
call showhex

mov  ah09
mov  dxbar
int  21h

mov  ah09
mov  dxop
int  21h
mov  ah09
mov  dxprompt1
int  21h
mov  ah0
int  16h
mov  ah0x0e
int  0x10

cmp  al'0'
jne  n1
call input
mov  byte [cs:Setup0], AL
jmp  SetVal

n1:
cmp  al'1'
jne  n2
call input
mov  byte [cs:Setup1a], AL
jmp  SetVal

n2:
cmp  al'2'
jne  n3
call input
mov  byte [cs:Setup1b], AL
jmp  SetVal

n3:
cmp  al'3'
jne  n4
call input
mov  byte [cs:Setup2], AL
jmp  SetVal

n4:
cmp  al'4'
jne  n5
call input
mov  byte [cs:Setup3], AL
jmp  SetVal

n5:
cmp  al'5'
jne  n6
call input
mov  byte [cs:Setup4], AL
jmp  SetVal

n6:
cmp  al'6'
jne  n7
call input
mov  byte [cs:Setup5], AL
jmp  SetVal

n7:
cmp  al'7'
jne  n8
call input
mov  byte [cs:Setup6], AL
jmp  SetVal

n8:
cmp  al'8'
jne  n9
call input
mov  byte [cs:Setup7], AL
jmp  SetVal

n9:
cmp  al'9'
jne  nA
call input
mov  byte [cs:Setup8], AL
jmp  SetVal

nA:
cmp  al'a'
jne  nB
call input
cmp  AL0
jne  NotNulBug
mov al1
NotNulBug:
mov  byte [cs:Setup9], AL
jmp  SetVal

nB:
cmp  al'b'
jne  nC
call input
mov  byte [cs:Setupa], AL
jmp  SetVal

nC:
cmp  al'c'
jne  nD
call input
mov  byte [cs:Setupb], AL
jmp  SetVal

nD:
cmp  al'd'
jne  nE
call input
mov  byte [cs:Setupc], AL
jmp  SetVal

nE:
cmp  al'r'
je   Launch
cmp  al'w'
je   Write
cmp  al'q'
je   Quit
SetVal:
jmp  MainMenu

Write:
push cs
pop  ds
mov  byte [cs:Running], 1

mov  ah0x3C
mov  cx0
mov  dxFileNameBuff
int  0x21
mov  bxax

mov  ah0x40
push cs
pop  ds
mov  dx100h
mov  cxEndOfCode - 100h
int  0x21

mov  ah0x3E
int  0x21

mov byte [cs:Running], 0
jmp MainMenu

Launch:
;============================================================
mov  ax0x0013
int  0x10
;============================================================
cmp  byte [cs:Setup0], 0
je   NoPalette
mov  ah0x0b
mov  bh0
mov  blbyte [cs:Setup0]
int  0x10
NoPalette:
;============================================================
cld
mov  ax0x6000
mov  bxax
mov  esax  
push es     
mov  cxX_WIDTH * X_HEIGHT / 2
xor  didi
xor  axax
rep  stosw
add  bx0x2000
mov  esbx
mov  cxX_WIDTH * X_HEIGHT / 2
xor  didi
xor  axax
rep  stosw
pop  ds 
;============================================================
inc  byte [X_HEIGHT / 2 * X_WIDTH + X_WIDTH / 2]
;============================================================
mov  ax0xa000
mov  gsax
std
;============================================================
NextFrame:
cmp  byte [cs:Setup9], 0
je   Fast
push CX
mov  CH0
mov  CLbyte [cs:Setup9]
Delay:
push AX
push BX
push ES
mov  AX40h
mov  ESAX
mov  AXword [es:6Ch]
Sleep:
mov  BXword [es:6Ch]
cmp  AXBX
je   Sleep
pop  ES
pop  BX
pop  AX
loop Delay
pop  CX
Fast:

mov  si, (X_WIDTH * (X_HEIGHT -1) - 2)
mov  disi    
mov  bx, (SCREEN_WIDTH) * (SCREEN_HEIGHT) - 1
;============================================================
NextLine:
mov  cxSCREEN_WIDTH
NextPixel:
mov  [gs:bx], al
lodsb
cmp  al00
je   Check
cmp  byte [cs:Setup3], 0
je   NoXor
xor  albyte [cs:Setup3]
NoXor:
cmp  albyte [cs:Setup4]
je   Check  
cmp  byte [cs:Setup8], 0
je   Default
sub  albyte [cs:Setup8]
jmp  CheckEnd
Default:
inc  AL
jmp  CheckEnd
;============================================================
Check:
mov  al0
mov  dl0

cmp  byte [cs:Setup7], 0
je   None
push bx
mov  bh0
mov  blbyte [cs:Setup7]
add  dl, [si + BX]
pop  bx
None:

cmp  byte [cs:Setupa], 1
jne  NoTwist
add  dl, [si - X_WIDTH + 2]
add  dl, [si - X_WIDTH]
add  dl, [si + X_WIDTH]
add  dl, [si + X_WIDTH + 2]
NoTwist:
add  dl, [si - X_WIDTH + 1]
add  dl, [si]
add  dl, [si + 2]
add  dl, [si + X_WIDTH + 1]
xor  dlbyte [cs:Setupc]
cmp  dlbyte [cs:Setup5]
jg   Work
cmp  dlbyte [cs:Setup1a]
je   Work
cmp  dlbyte [cs:Setup1b]
jne  CheckEnd
;============================================================
Work:
mov  albyte [cs:Setupb]
CheckEnd:
cmp  albyte [cs:Setup2]
jne  SetNext
;============================================================
push bx
mov  albyte [cs:Setup6]
inc byte [X_HEIGHT / 2 * X_WIDTH + X_WIDTH / 2]
pop bx
;============================================================
SetNext:
mov  [es:di], al
dec  bx 
dec  di 
loop NextPixel_
sub  si2
sub  di2
cmp  bx0xffff
jne  NextLine
push ds
push es
pop  ds
pop  es
mov  ah1
int  0x16
jnz  over
jmp  NextFrame
over:
mov  ah0
int  0x16
xor  ahah
mov  al03
int  0x10
mov  axcs
mov  dsax
mov  esax

cmp byte [cs:Running], 1
je Quit

jmp MainMenu
NextPixel_:
jmp NextPixel
;============================================================
scnhexpush    cx                      ;DS:SI as HEX to ASCII->AL
        push    dx
        mov     cl,4
        xor     dx,dx
scn:    lodsb
        cmp     al,'0'
        jb      endr
        cmp     al,'9'
        jna     decdgt
        or      al,0x20
        cmp     al,'a'
        jb      endr 
        cmp     al,'f'
        ja      endr  
        sub     al,'a'-'9'-1
decdgtsub     al,'0'
        shl     dx,cl
        or      dl,al
        jmp     scn
endr:   dec     si 
        xchg    dx,ax
        pop     dx
        pop     cx
ret
;============================================================
showhex:                        ;shows ascii value in AL as HEX
        push    ax
        push    bx
        push    cx
        push    dx
        call    conhex
        mov     cx,ax 
        mov     al,cl 
        mov     ah0x0e 
        int     10h
        mov     al,ch  
        mov     ah0x0e
        int     10h     
        pop     dx
        pop     cx
        pop     bx
        pop     ax
ret                     
;============================================================
conhex:                         ;converts ASCII (AL) to hex (AX)
        mov     cl,10h
        mov     ah,0  
        div     cl    
        add     al,30h
        add     ah,30h
        cmp     al,'9'
        jbe     ca4   
        add     al,7  
ca4:    cmp     ah,'9'
        jbe     ca5   
        add     ah,7  
ca5:    ret           
;============================================================
Quit:
mov  ah0
mov  al3
int  10h
mov  ah4ch
int  21h
;============================================================
input:
mov  ah09
mov  dxprompt2
int  21h
mov  ah,0
int  16h
mov  ah0eh
int  10h
mov  dhal
mov  ah,0
int  16h
mov  ah0eh
int  10h
mov  dlal
mov  byte [ds:si], DH
mov  byte [ds:si+1], DL
mov  byte [ds:si+2], 0
call scnhex
ret  
;============================================================
Setup:  
      db 13,10,"------------------------------------"
      db 13,10,"AMAZING SYMMETRICAL PATTERN COMPILER"
 bar  db 13,10,"------------------------------------$",0

Setupi0  db 13,10,"0. Color Setup =$"
Setupi1a db 13,10,"1. Pattern #1  =$"
Setupi1b db 13,10,"2. Pattern #2  =$"
Setupi2  db 13,10,"3. States      =$"
Setupi3  db 13,10,"4. Bits        =$"
Setupi4  db 13,10,"5. Matrix      =$"
Setupi5  db 13,10,"6. Precise     =$"
Setupi6  db 13,10,"7. Die (0/1)   =$"
Setupi7  db 13,10,"8. Blaster     =$"
Setupi8  db 13,10,"9. Minus       =$"
Setupi9  db 13,10,"a. Speed       =$"
Setupia  db 13,10,"b. Diamond(0/1)=$"
Setupib  db 13,10,"c. Veng        =$"
Setupic  db 13,10,"d. Adapt       =$"

op  db 13,10,"(R)un (W)rite (Q)uit$"
FileName db 13,10,"Enter .COM FileName?$"
prompt1 db 13,10,'Choice (1 to d):$'
prompt2 db 13,10,'Enter 2 Digit HEX code:$'

Setup0  db 0x0
Setup1a db 0x1
Setup1b db 0x1
Setup2  db 0xff
Setup3  db 0x0
Setup4  db 0xFF
Setup5  db 0x50
Setup6  db 0x1
Setup7  db 0x0
Setup8  db 0x0
Setup9  db 0x1
Setupa  db 0x1
Setupb  db 0x1
Setupc  db 0x2
FileNameBuff db 'output.com',0
buff rb 8
Running db 0
db 1
;============================================================
EndOfCode:







Last edited by mbr_tsr on 10 Sep 2015, 06:43; edited 1 time in total
Post 09 Sep 2015, 19:15
View user's profile Send private message Reply with quote
mbr_tsr



Joined: 03 Apr 2011
Posts: 4628

Code:

;============================================================
;ZYMMETRY.ASM
;AMAZING ZYMMETRICAL PATTERN COMPILER VERSION 3.0
;(C)2011/2015 By Shawn T. Cook
;Credit to the original author I lost his name.
;For DOS / Uses int 21h
;Note I am currently working on version 4.0 available soon!
;This allows you to create a screen saver .COM file called 'output.com'.
;To edit output.com Type C:\>output.com 1 (don't forget the 1).
;============================================================
Org 100h
;============================================================
SCREEN_WIDTH  =320           ;160
SCREEN_HEIGHT =200           ;100
X_WIDTH  =(SCREEN_WIDTH  +2)
X_HEIGHT =(SCREEN_HEIGHT +2
;============================================================
MainMenu:
mov  axcs
mov  dsax
mov  esax
mov  fsax
mov  gsax

cld

cmp byte [cs:82h], '1'
je  SkipRun
cmp byte [cs:Running], 1
je Launch

SkipRun:
mov ah0   ;Screen Mode 1
mov al1
int 0x10

mov  ah09
mov  dxSetup
int  21h

mov  sibuff
mov  ah09
mov  dxSetupi0
int  21h
mov  AL,byte [cs:Setup0]
call showhex
mov  ah09
mov  dxSetupi1
int  21h
mov  AL,byte [cs:Setup1]
call showhex
mov  ah09
mov  dxSetupi2
int  21h
mov  AL,byte [cs:Setup2]
call showhex
mov  ah09
mov  dxSetupi3
int  21h
mov  AL,byte [cs:Setup3]
call showhex
mov  ah09
mov  dxSetupi4
int  21h
mov  AL,byte [cs:Setup4]
call showhex
mov  ah09
mov  dxSetupi5
int  21h
mov  AL,byte [cs:Setup5]
call showhex
mov  ah09
mov  dxSetupi6
int  21h
mov  AL,byte [cs:Setup6]
call showhex
mov  ah09
mov  dxSetupi7
int  21h
mov  AL,byte [cs:Setup7]
call showhex
mov  ah09
mov  dxSetupi8
int  21h
mov  AL,byte [cs:Setup8]
call showhex
mov  ah09
mov  dxSetupi9
int  21h
mov  AL,byte [cs:Setup9]
call showhex
mov  ah09
mov  dxSetupiA
int  21h       
mov  AL,byte [cs:SetupA]
call showhex
mov  ah09
mov  dxSetupiB
int  21h
mov  AL,byte [cs:SetupB]
call showhex
mov  ah09
mov  dxSetupiC
int  21h
mov  AL,byte [cs:SetupC]
call showhex
mov  dxSetupiD
int  21h
mov  AL,byte [cs:SetupD]
call showhex
mov  dxSetupiE
int  21h
mov  AL,byte [cs:SetupE]
call showhex

mov  ah09
mov  dxbar
int  21h

mov  ah09
mov  dxop
int  21h
mov  ah09
mov  dxprompt1
int  21h
mov  ah0
int  16h
mov  ah0x0e
int  0x10

cmp  al'0'
jne  n1
call input
mov  byte [cs:Setup0], AL
jmp  SetVal

n1:
cmp  al'1'
jne  n2
call input
mov  byte [cs:Setup1], AL
jmp  SetVal

n2:
cmp  al'2'
jne  n3
call input
mov  byte [cs:Setup2], AL
jmp  SetVal

n3:
cmp  al'3'
jne  n4
call input
mov  byte [cs:Setup3], AL
jmp  SetVal

n4:
cmp  al'4'
jne  n5
call input
mov  byte [cs:Setup4], AL
jmp  SetVal

n5:
cmp  al'5'
jne  n6
call input
mov  byte [cs:Setup5], AL
jmp  SetVal

n6:
cmp  al'6'
jne  n7
call input
mov  byte [cs:Setup6], AL
jmp  SetVal

n7:
cmp  al'7'
jne  n8
call input
mov  byte [cs:Setup7], AL
jmp  SetVal

n8:
cmp  al'8'
jne  n9
call input
mov  byte [cs:Setup8], AL
jmp  SetVal

n9:
cmp  al'9'
jne  nA
call input
mov  byte [cs:Setup9], AL
jmp  SetVal

nA:
cmp  al'a'
jne  nB
call input
cmp  AL0
jne  NotNulBug
mov al1
NotNulBug:
mov  byte [cs:SetupA], AL
jmp  SetVal

nB:
cmp  al'b'
jne  nC
call input
mov  byte [cs:SetupB], AL
jmp  SetVal

nC:
cmp  al'c'
jne  nD
call input
mov  byte [cs:SetupC], AL
jmp  SetVal

nD:
cmp  al'd'
jne  nE
call input
mov  byte [cs:SetupD], AL
jmp  SetVal

nE:

cmp  al'e'
jne  nF
call input
mov  byte [cs:SetupE], AL
jmp  SetVal
nF:

cmp  al'r'
je   Launch
cmp  al'w'
je   Write
cmp  al'q'
je   Quit
SetVal:
jmp  MainMenu

Write:
push cs
pop  ds
mov  byte [cs:Running], 1

mov  ah0x3C
mov  cx0
mov  dxFileNameBuff
int  0x21
mov  bxax

mov  ah0x40
push cs
pop  ds
mov  dx100h
mov  cxEndOfCode - 100h
int  0x21

mov  ah0x3E
int  0x21

mov byte [cs:Running], 0
jmp MainMenu

Launch:
;============================================================
mov  ax0x0013
int  0x10
;============================================================
cmp  byte [cs:Setup0], 0
je   NoPalette
mov  ah0x0b
mov  bh0
mov  blbyte [cs:Setup0]
int  0x10
NoPalette:
;============================================================
cld
mov  ax0x6000
mov  bxax
mov  esax  
push es     
mov  cxX_WIDTH * X_HEIGHT / 2
xor  didi
xor  axax
rep  stosw
add  bx0x2000
mov  esbx
mov  cxX_WIDTH * X_HEIGHT / 2
xor  didi
xor  axax
rep  stosw
pop  ds 
;============================================================
inc  byte [X_HEIGHT / 2 * X_WIDTH + X_WIDTH / 2]
;============================================================
mov  ax0xa000
mov  gsax
std
;============================================================
NextFrame:
cmp  byte [cs:SetupA], 0
je   Fast
push CX
mov  CH0
mov  CLbyte [cs:SetupA]
Delay:
push AX
push BX
push ES
mov  AX40h
mov  ESAX
mov  AXword [es:6Ch]
Sleep:
mov  BXword [es:6Ch]
cmp  AXBX
je   Sleep
pop  ES
pop  BX
pop  AX
loop Delay
pop  CX
Fast:

mov  si, (X_WIDTH * (X_HEIGHT -1) - 2)
mov  disi    
mov  bx, (SCREEN_WIDTH) * (SCREEN_HEIGHT) - 1
;============================================================
NextLine:
mov  cxSCREEN_WIDTH
NextPixel:
xor  albyte [cs:SetupE]
mov  [gs:bx], al
lodsb
cmp  al00
je   Check
cmp  byte [cs:Setup4], 0
je   NoXor
xor  albyte [cs:Setup4]
NoXor:
cmp  albyte [cs:Setup5]
je   Check  
cmp  byte [cs:Setup9], 0
je   Default
sub  albyte [cs:Setup9]
jmp  CheckEnd
Default:
inc  AL
jmp  CheckEnd
;============================================================
Check:
mov  al0
mov  dl0

cmp  byte [cs:Setup8], 0
je   None
push bx
mov  bh0
mov  blbyte [cs:Setup8]
add  dl, [si + BX]
pop  bx
None:

cmp  byte [cs:SetupB], 1
jne  NoTwist
add  dl, [si - X_WIDTH + 2]
add  dl, [si - X_WIDTH]
add  dl, [si + X_WIDTH]
add  dl, [si + X_WIDTH + 2]
NoTwist:
add  dl, [si - X_WIDTH + 1]
add  dl, [si]
add  dl, [si + 2]
add  dl, [si + X_WIDTH + 1]
xor  dlbyte [cs:SetupD]
cmp  dlbyte [cs:Setup6]
jg   Work
cmp  dlbyte [cs:Setup1]
je  Work
cmp  dlbyte [cs:Setup2]
jne  CheckEnd
;============================================================
Work:
mov  albyte [cs:SetupC]
CheckEnd:
cmp  albyte [cs:Setup3]
jne  SetNext
;============================================================
mov  albyte [cs:Setup7]
SetNext:
mov  [es:di], al
dec  bx 
dec  di 
loop NextPixel_
sub  si2
sub  di2
cmp  bx0xffff
jne  NextLine
push ds
push es
pop  ds
pop  es
mov  ah1
int  0x16
jnz  over
jmp  NextFrame
over:
mov  ah0
int  0x16
xor  ahah
mov  al03
int  0x10
mov  axcs
mov  dsax
mov  esax

cmp byte [cs:Running], 1
je Quit

jmp MainMenu
NextPixel_:
jmp NextPixel
;============================================================
scnhexpush    cx                      ;DS:SI as HEX to ASCII->AL
        push    dx
        mov     cl,4
        xor     dx,dx
scn:    lodsb
        cmp     al,'0'
        jb      endr
        cmp     al,'9'
        jna     decdgt
        or      al,0x20
        cmp     al,'a'
        jb      endr 
        cmp     al,'f'
        ja      endr  
        sub     al,'a'-'9'-1
decdgtsub     al,'0'
        shl     dx,cl
        or      dl,al
        jmp     scn
endr:   dec     si 
        xchg    dx,ax
        pop     dx
        pop     cx
ret
;============================================================
showhex:                        ;shows ascii value in AL as HEX
        push    ax
        push    bx
        push    cx
        push    dx
        call    conhex
        mov     cx,ax 
        mov     al,cl 
        mov     ah0x0e 
        int     10h
        mov     al,ch  
        mov     ah0x0e
        int     10h     
        pop     dx
        pop     cx
        pop     bx
        pop     ax
ret                     
;============================================================
conhex:                         ;converts ASCII (AL) to hex (AX)
        mov     cl,10h
        mov     ah,0  
        div     cl    
        add     al,30h
        add     ah,30h
        cmp     al,'9'
        jbe     ca4   
        add     al,7  
ca4:    cmp     ah,'9'
        jbe     ca5   
        add     ah,7  
ca5:    ret           
;============================================================
Quit:
mov  ah0
mov  al3
int  10h
mov  ah4ch
int  21h
;============================================================
input:
mov  ah09
mov  dxprompt2
int  21h
mov  ah,0
int  16h
mov  ah0eh
int  10h
mov  dhal
mov  ah,0
int  16h
mov  ah0eh
int  10h
mov  dlal
mov  byte [ds:si], DH
mov  byte [ds:si+1], DL
mov  byte [ds:si+2], 0
call scnhex
ret  
;============================================================
Setup:  
      db 13,10,"------------------------------------"
      db 13,10,"AMAZING SYMMETRICAL PATTERN COMPILER"
 bar  db 13,10,"------------------------------------$",0

Setupi0  db 13,10,"0. Color Setup =$"
Setupi1  db 13,10,"1. Pattern #1  =$"
Setupi2  db 13,10,"2. Pattern #2  =$"
Setupi3  db 13,10,"3. States      =$"
Setupi4  db 13,10,"4. Bits        =$"
Setupi5  db 13,10,"5. Matrix      =$"
Setupi6  db 13,10,"6. Precise     =$"
Setupi7  db 13,10,"7. Die (0/1)   =$"
Setupi8  db 13,10,"8. Blaster     =$"
Setupi9  db 13,10,"9. Minus       =$"
SetupiA  db 13,10,"a. Speed       =$"
SetupiB  db 13,10,"b. Diamond(0/1)=$"
SetupiC  db 13,10,"c. Veng        =$"
SetupiD  db 13,10,"d. Adapt       =$"
SetupiE  db 13,10,"e. Extra       =$"

op  db 13,10,"(R)un (W)rite (Q)uit$"
FileName db 13,10,"Enter .COM FileName?$"
prompt1 db 13,10,'Choice (1 to d):$'
prompt2 db 13,10,'Enter 2 Digit HEX code:$'

Setup0  db 0x0
Setup1  db 0x3
Setup2  db 0x1
Setup3  db 0xff
Setup4  db 0x0
Setup5  db 0xFF
Setup6  db 0x50
Setup7  db 0x1
Setup8  db 0x0
Setup9  db 0x0
SetupA  db 0x1
SetupB  db 0x1
SetupC  db 0x1
SetupD  db 0x2
SetupE  db 0x0

FileNameBuff db 'output.com',0
buff rb 8
Running db 0
db 1
;============================================================
EndOfCode:





Post 10 Sep 2015, 06:43
View user's profile Send private message Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< Last Thread | Next Thread >

Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001-2005 phpBB Group.

Main index   Download   Documentation   Examples   Message board
Copyright © 2004-2016, Tomasz Grysztar.