     1                                  ; ****************************************************************************
     2                                  ; writetst.s - TRDOS 386 (TRDOS v2.0) Kernel - SYSWRITE function test
     3                                  ; ----------------------------------------------------------------------------
     4                                  ;
     5                                  ; 24/08/2024
     6                                  ;
     7                                  ; [ Last Modification: 18/09/2024 ]
     8                                  ;
     9                                  ; ****************************************************************************
    10                                  
    11                                  ; 20/08/2024 ; TRDOS 386 v2.0.9 (exit code)
    12                                  ; 20/08/2017
    13                                  ; 01/03/2017
    14                                  ; 16/10/2016
    15                                  ; 29/04/2016
    16                                  ; TRDOS 386 system calls (temporary list!)
    17                                  _ver 	equ 0
    18                                  _exit 	equ 1
    19                                  _fork 	equ 2
    20                                  _read 	equ 3
    21                                  _write	equ 4
    22                                  _open	equ 5
    23                                  _close 	equ 6
    24                                  _wait 	equ 7
    25                                  _creat 	equ 8
    26                                  _link 	equ 9
    27                                  _unlink	equ 10 ; _delete
    28                                  _exec	equ 11
    29                                  _chdir	equ 12
    30                                  _time 	equ 13
    31                                  _mkdir 	equ 14
    32                                  _chmod	equ 15
    33                                  _chown	equ 16
    34                                  _break	equ 17
    35                                  _stat	equ 18
    36                                  _seek	equ 19
    37                                  _tell 	equ 20
    38                                  _mount	equ 21
    39                                  _umount	equ 22
    40                                  _setuid	equ 23
    41                                  _getuid	equ 24
    42                                  _stime	equ 25
    43                                  _quit	equ 26
    44                                  _intr	equ 27
    45                                  _fstat	equ 28
    46                                  _emt 	equ 29
    47                                  _mdate 	equ 30
    48                                  _video 	equ 31
    49                                  _audio	equ 32
    50                                  _timer	equ 33
    51                                  _sleep	equ 34
    52                                  _msg    equ 35
    53                                  _geterr	equ 36
    54                                  _fpsave	equ 37
    55                                  _pri	equ 38
    56                                  _rele	equ 39
    57                                  _fff	equ 40
    58                                  _fnf	equ 41
    59                                  _alloc	equ 42
    60                                  _dalloc equ 43
    61                                  _calbac equ 44
    62                                  _dma	equ 45
    63                                  _stdio  equ 46	;  TRDOS 386 v2.0.9
    64                                  
    65                                  %macro sys 1-4
    66                                      ; 29/04/2016 - TRDOS 386 (TRDOS v2.0)
    67                                      ; 03/09/2015
    68                                      ; 13/04/2015
    69                                      ; Retro UNIX 386 v1 system call.
    70                                      %if %0 >= 2   
    71                                          mov ebx, %2
    72                                          %if %0 >= 3
    73                                              mov ecx, %3
    74                                              %if %0 = 4
    75                                                 mov edx, %4
    76                                              %endif
    77                                          %endif
    78                                      %endif
    79                                      mov eax, %1
    80                                      ;int 30h
    81                                      int 40h ; TRDOS 386 (TRDOS v2.0) 
    82                                  %endmacro
    83                                  
    84                                  ; TRDOS 386 (and Retro UNIX 386 v1) system call format:
    85                                  ; sys systemcall (eax) <arg1 (ebx)>, <arg2 (ecx)>, <arg3 (edx)>
    86                                  
    87                                  ;========================================================================
    88                                  ; EXEC TEST - CODE
    89                                  ;========================================================================
    90                                  
    91                                  [BITS 32] ; 32-bit intructions
    92                                  
    93                                  [ORG 0] 
    94                                  
    95                                  START_CODE:
    96                                  	sys	_msg, program, len0, 0Bh
    66                              <1> 
    67                              <1> 
    68                              <1> 
    69                              <1> 
    70                              <1>  %if %0 >= 2
    71 00000000 BB[AE010000]        <1>  mov ebx, %2
    72                              <1>  %if %0 >= 3
    73 00000005 B92D000000          <1>  mov ecx, %3
    74                              <1>  %if %0 = 4
    75 0000000A BA0B000000          <1>  mov edx, %4
    76                              <1>  %endif
    77                              <1>  %endif
    78                              <1>  %endif
    79 0000000F B823000000          <1>  mov eax, %1
    80                              <1> 
    81 00000014 CD40                <1>  int 40h
    97                                  	sys	_msg, owner, 255, 0Eh
    66                              <1> 
    67                              <1> 
    68                              <1> 
    69                              <1> 
    70                              <1>  %if %0 >= 2
    71 00000016 BB[DC010000]        <1>  mov ebx, %2
    72                              <1>  %if %0 >= 3
    73 0000001B B9FF000000          <1>  mov ecx, %3
    74                              <1>  %if %0 = 4
    75 00000020 BA0E000000          <1>  mov edx, %4
    76                              <1>  %endif
    77                              <1>  %endif
    78                              <1>  %endif
    79 00000025 B823000000          <1>  mov eax, %1
    80                              <1> 
    81 0000002A CD40                <1>  int 40h
    98                                  
    99                                  	sys	_msg, sample_text_hdr, 255, 0Ch
    66                              <1> 
    67                              <1> 
    68                              <1> 
    69                              <1> 
    70                              <1>  %if %0 >= 2
    71 0000002C BB[07020000]        <1>  mov ebx, %2
    72                              <1>  %if %0 >= 3
    73 00000031 B9FF000000          <1>  mov ecx, %3
    74                              <1>  %if %0 = 4
    75 00000036 BA0C000000          <1>  mov edx, %4
    76                              <1>  %endif
    77                              <1>  %endif
    78                              <1>  %endif
    79 0000003B B823000000          <1>  mov eax, %1
    80                              <1> 
    81 00000040 CD40                <1>  int 40h
   100                                  	sys	_msg, sample_text, sample_text_size, 0Fh
    66                              <1> 
    67                              <1> 
    68                              <1> 
    69                              <1> 
    70                              <1>  %if %0 >= 2
    71 00000042 BB[3C020000]        <1>  mov ebx, %2
    72                              <1>  %if %0 >= 3
    73 00000047 B9A2000000          <1>  mov ecx, %3
    74                              <1>  %if %0 = 4
    75 0000004C BA0F000000          <1>  mov edx, %4
    76                              <1>  %endif
    77                              <1>  %endif
    78                              <1>  %endif
    79 00000051 B823000000          <1>  mov eax, %1
    80                              <1> 
    81 00000056 CD40                <1>  int 40h
   101                                  	sys	_msg, continue_msg, 255, 07h
    66                              <1> 
    67                              <1> 
    68                              <1> 
    69                              <1> 
    70                              <1>  %if %0 >= 2
    71 00000058 BB[DF020000]        <1>  mov ebx, %2
    72                              <1>  %if %0 >= 3
    73 0000005D B9FF000000          <1>  mov ecx, %3
    74                              <1>  %if %0 = 4
    75 00000062 BA07000000          <1>  mov edx, %4
    76                              <1>  %endif
    77                              <1>  %endif
    78                              <1>  %endif
    79 00000067 B823000000          <1>  mov eax, %1
    80                              <1> 
    81 0000006C CD40                <1>  int 40h
   102                                  
   103                                  getchar_@:
   104                                  	; getchar
   105                                  	;mov	ah, 10h
   106                                  	;int	32h
   107                                  
   108                                  	; stdio getchar (TRDOS 386 Kernel v2.0.9 and later)
   109                                  	;mov	bl, 6	; read character (ascii and scancode) on stdin
   110                                  			; -no redirection, wait-
   111                                  	sys	_stdio, 6
    66                              <1> 
    67                              <1> 
    68                              <1> 
    69                              <1> 
    70                              <1>  %if %0 >= 2
    71 0000006E BB06000000          <1>  mov ebx, %2
    72                              <1>  %if %0 >= 3
    73                              <1>  mov ecx, %3
    74                              <1>  %if %0 = 4
    75                              <1>  mov edx, %4
    76                              <1>  %endif
    77                              <1>  %endif
    78                              <1>  %endif
    79 00000073 B82E000000          <1>  mov eax, %1
    80                              <1> 
    81 00000078 CD40                <1>  int 40h
   112                                  	
   113 0000007A 3C1B                    	cmp	al, 1Bh ; ESC key
   114 0000007C 7405                    	je	short terminate
   115                                  
   116 0000007E E825000000              	call	write_sample_text
   117                                  
   118                                  terminate:
   119                                  	sys	_msg, crlf, 2, 07h
    66                              <1> 
    67                              <1> 
    68                              <1> 
    69                              <1> 
    70                              <1>  %if %0 >= 2
    71 00000083 BB[0E030000]        <1>  mov ebx, %2
    72                              <1>  %if %0 >= 3
    73 00000088 B902000000          <1>  mov ecx, %3
    74                              <1>  %if %0 = 4
    75 0000008D BA07000000          <1>  mov edx, %4
    76                              <1>  %endif
    77                              <1>  %endif
    78                              <1>  %endif
    79 00000092 B823000000          <1>  mov eax, %1
    80                              <1> 
    81 00000097 CD40                <1>  int 40h
   120                                  
   121                                  	sys	_exit, 0  ; ebx = exit code
    66                              <1> 
    67                              <1> 
    68                              <1> 
    69                              <1> 
    70                              <1>  %if %0 >= 2
    71 00000099 BB00000000          <1>  mov ebx, %2
    72                              <1>  %if %0 >= 3
    73                              <1>  mov ecx, %3
    74                              <1>  %if %0 = 4
    75                              <1>  mov edx, %4
    76                              <1>  %endif
    77                              <1>  %endif
    78                              <1>  %endif
    79 0000009E B801000000          <1>  mov eax, %1
    80                              <1> 
    81 000000A3 CD40                <1>  int 40h
   122                                  	;sys	_exit
   123                                  here:
   124 000000A5 90                      	nop
   125 000000A6 EBFD                    	jmp	short here
   126                                  
   127                                  write_sample_text:
   128                                  	; CL = 0FFh
   129                                  	; CH = 0 -> 24 bytes buffer
   130                                  	sys	_fff, sample_file, 0FFh, fff_buffer
    66                              <1> 
    67                              <1> 
    68                              <1> 
    69                              <1> 
    70                              <1>  %if %0 >= 2
    71 000000A8 BB[11030000]        <1>  mov ebx, %2
    72                              <1>  %if %0 >= 3
    73 000000AD B9FF000000          <1>  mov ecx, %3
    74                              <1>  %if %0 = 4
    75 000000B2 BA[1F040000]        <1>  mov edx, %4
    76                              <1>  %endif
    77                              <1>  %endif
    78                              <1>  %endif
    79 000000B7 B828000000          <1>  mov eax, %1
    80                              <1> 
    81 000000BC CD40                <1>  int 40h
   131 000000BE 726A                    	jc	short wst_create
   132                                  
   133 000000C0 F6021F                  	test	byte [edx], 1Fh ; DVSHR
   134 000000C3 754E                    	jnz	short wsta_error
   135                                  
   136                                  	sys	_msg, write_option_hdr, 255, 0Eh
    66                              <1> 
    67                              <1> 
    68                              <1> 
    69                              <1> 
    70                              <1>  %if %0 >= 2
    71 000000C5 BB[87030000]        <1>  mov ebx, %2
    72                              <1>  %if %0 >= 3
    73 000000CA B9FF000000          <1>  mov ecx, %3
    74                              <1>  %if %0 = 4
    75 000000CF BA0E000000          <1>  mov edx, %4
    76                              <1>  %endif
    77                              <1>  %endif
    78                              <1>  %endif
    79 000000D4 B823000000          <1>  mov eax, %1
    80                              <1> 
    81 000000D9 CD40                <1>  int 40h
   137                                  	sys	_msg, write_option, 255, 0Fh
    66                              <1> 
    67                              <1> 
    68                              <1> 
    69                              <1> 
    70                              <1>  %if %0 >= 2
    71 000000DB BB[BC030000]        <1>  mov ebx, %2
    72                              <1>  %if %0 >= 3
    73 000000E0 B9FF000000          <1>  mov ecx, %3
    74                              <1>  %if %0 = 4
    75 000000E5 BA0F000000          <1>  mov edx, %4
    76                              <1>  %endif
    77                              <1>  %endif
    78                              <1>  %endif
    79 000000EA B823000000          <1>  mov eax, %1
    80                              <1> 
    81 000000EF CD40                <1>  int 40h
   138                                  
   139                                  wst_get_option:
   140                                  	sys	_stdio, 6 ; read character (from STDIN)
    66                              <1> 
    67                              <1> 
    68                              <1> 
    69                              <1> 
    70                              <1>  %if %0 >= 2
    71 000000F1 BB06000000          <1>  mov ebx, %2
    72                              <1>  %if %0 >= 3
    73                              <1>  mov ecx, %3
    74                              <1>  %if %0 = 4
    75                              <1>  mov edx, %4
    76                              <1>  %endif
    77                              <1>  %endif
    78                              <1>  %endif
    79 000000F6 B82E000000          <1>  mov eax, %1
    80                              <1> 
    81 000000FB CD40                <1>  int 40h
   141 000000FD 3C0D                    	cmp	al, 0Dh ; ENTER
   142 000000FF 7429                    	je	short wst_create
   143 00000101 3C1B                    	cmp	al, 1Bh ; ESC
   144 00000103 75EC                    	jne	short wst_get_option
   145                                  
   146                                  	;sys	_delete, sample_file
   147                                  	sys	_unlink, sample_file
    66                              <1> 
    67                              <1> 
    68                              <1> 
    69                              <1> 
    70                              <1>  %if %0 >= 2
    71 00000105 BB[11030000]        <1>  mov ebx, %2
    72                              <1>  %if %0 >= 3
    73                              <1>  mov ecx, %3
    74                              <1>  %if %0 = 4
    75                              <1>  mov edx, %4
    76                              <1>  %endif
    77                              <1>  %endif
    78                              <1>  %endif
    79 0000010A B80A000000          <1>  mov eax, %1
    80                              <1> 
    81 0000010F CD40                <1>  int 40h
   148 00000111 7317                    	jnc	short wst_create
   149                                  
   150                                  wsta_error:
   151                                  	sys	_msg, access_error, 255, 0Dh
    66                              <1> 
    67                              <1> 
    68                              <1> 
    69                              <1> 
    70                              <1>  %if %0 >= 2
    71 00000113 BB[46030000]        <1>  mov ebx, %2
    72                              <1>  %if %0 >= 3
    73 00000118 B9FF000000          <1>  mov ecx, %3
    74                              <1>  %if %0 = 4
    75 0000011D BA0D000000          <1>  mov edx, %4
    76                              <1>  %endif
    77                              <1>  %endif
    78                              <1>  %endif
    79 00000122 B823000000          <1>  mov eax, %1
    80                              <1> 
    81 00000127 CD40                <1>  int 40h
   152 00000129 C3                      	retn
   153                                  
   154                                  wst_create:
   155                                  	; create SAMPLE.TXT or truncate it if it is existing
   156                                  	sys	_creat, sample_file, 0 ; create normal file
    66                              <1> 
    67                              <1> 
    68                              <1> 
    69                              <1> 
    70                              <1>  %if %0 >= 2
    71 0000012A BB[11030000]        <1>  mov ebx, %2
    72                              <1>  %if %0 >= 3
    73 0000012F B900000000          <1>  mov ecx, %3
    74                              <1>  %if %0 = 4
    75                              <1>  mov edx, %4
    76                              <1>  %endif
    77                              <1>  %endif
    78                              <1>  %endif
    79 00000134 B808000000          <1>  mov eax, %1
    80                              <1> 
    81 00000139 CD40                <1>  int 40h
   157 0000013B 7317                    	jnc	short wst_continue_1 ; eax = file handle
   158                                  wstc_error:
   159                                  	sys	_msg, create_error, 255, 0Dh
    66                              <1> 
    67                              <1> 
    68                              <1> 
    69                              <1> 
    70                              <1>  %if %0 >= 2
    71 0000013D BB[1C030000]        <1>  mov ebx, %2
    72                              <1>  %if %0 >= 3
    73 00000142 B9FF000000          <1>  mov ecx, %3
    74                              <1>  %if %0 = 4
    75 00000147 BA0D000000          <1>  mov edx, %4
    76                              <1>  %endif
    77                              <1>  %endif
    78                              <1>  %endif
    79 0000014C B823000000          <1>  mov eax, %1
    80                              <1> 
    81 00000151 CD40                <1>  int 40h
   160 00000153 C3                      	retn
   161                                  
   162                                  wst_continue_1:
   163 00000154 A3[1B040000]            	mov	[filehandle], eax
   164                                  
   165                                  	sys	_write, eax, sample_text, sample_text_size
    66                              <1> 
    67                              <1> 
    68                              <1> 
    69                              <1> 
    70                              <1>  %if %0 >= 2
    71 00000159 89C3                <1>  mov ebx, %2
    72                              <1>  %if %0 >= 3
    73 0000015B B9[3C020000]        <1>  mov ecx, %3
    74                              <1>  %if %0 = 4
    75 00000160 BAA2000000          <1>  mov edx, %4
    76                              <1>  %endif
    77                              <1>  %endif
    78                              <1>  %endif
    79 00000165 B804000000          <1>  mov eax, %1
    80                              <1> 
    81 0000016A CD40                <1>  int 40h
   166 0000016C 7318                    	jnc	short wst_continue_2
   167                                  
   168                                  	sys	_msg, write_error, 255, 0Dh
    66                              <1> 
    67                              <1> 
    68                              <1> 
    69                              <1> 
    70                              <1>  %if %0 >= 2
    71 0000016E BB[65030000]        <1>  mov ebx, %2
    72                              <1>  %if %0 >= 3
    73 00000173 B9FF000000          <1>  mov ecx, %3
    74                              <1>  %if %0 = 4
    75 00000178 BA0D000000          <1>  mov edx, %4
    76                              <1>  %endif
    77                              <1>  %endif
    78                              <1>  %endif
    79 0000017D B823000000          <1>  mov eax, %1
    80                              <1> 
    81 00000182 CD40                <1>  int 40h
   169 00000184 EB1A                    	jmp	short wst_close
   170                                  
   171                                  wst_continue_2:
   172 00000186 21C0                    	and	eax, eax ; written bytes
   173 00000188 7416                    	jz	short wst_close
   174                                  
   175                                  	; written message (success/completed msg)
   176                                  	sys	_msg, msg_written, 255, 07h
    66                              <1> 
    67                              <1> 
    68                              <1> 
    69                              <1> 
    70                              <1>  %if %0 >= 2
    71 0000018A BB[F7010000]        <1>  mov ebx, %2
    72                              <1>  %if %0 >= 3
    73 0000018F B9FF000000          <1>  mov ecx, %3
    74                              <1>  %if %0 = 4
    75 00000194 BA07000000          <1>  mov edx, %4
    76                              <1>  %endif
    77                              <1>  %endif
    78                              <1>  %endif
    79 00000199 B823000000          <1>  mov eax, %1
    80                              <1> 
    81 0000019E CD40                <1>  int 40h
   177                                  
   178                                  wst_close:
   179                                  	; close SAMPLE.TXT file
   180                                  	sys	_close, [filehandle]
    66                              <1> 
    67                              <1> 
    68                              <1> 
    69                              <1> 
    70                              <1>  %if %0 >= 2
    71 000001A0 8B1D[1B040000]      <1>  mov ebx, %2
    72                              <1>  %if %0 >= 3
    73                              <1>  mov ecx, %3
    74                              <1>  %if %0 = 4
    75                              <1>  mov edx, %4
    76                              <1>  %endif
    77                              <1>  %endif
    78                              <1>  %endif
    79 000001A6 B806000000          <1>  mov eax, %1
    80                              <1> 
    81 000001AB CD40                <1>  int 40h
   181 000001AD C3                      	retn
   182                                  
   183                                  ;-----------------------------------------------------------------
   184                                  ;  messages
   185                                  ;-----------------------------------------------------------------
   186                                  
   187                                  program:
   188 000001AE 0D0A                    		db 0Dh, 0Ah
   189 000001B0 5452444F5320333836-     		db "TRDOS 386 v2.0.9 - SYSWRITE Function Test"
   189 000001B9 2076322E302E39202D-
   189 000001C2 205359535752495445-
   189 000001CB 2046756E6374696F6E-
   189 000001D4 2054657374         
   190 000001D9 0D0A                    		db 0Dh, 0Ah
   191                                  len0	equ $-program
   192 000001DB 00                      		db 0
   193                                  owner:
   194 000001DC 4572646F67616E2054-     		db "Erdogan Tan - 18/09/2024"
   194 000001E5 616E202D2031382F30-
   194 000001EE 392F32303234       
   195 000001F4 0D0A00                  		db 0Dh, 0Ah, 0
   196                                  
   197                                  msg_written:	
   198 000001F7 0D0A                    		db 0Dh, 0Ah
   199 000001F9 7772697474656E202E-     		db "written ..."
   199 00000202 2E2E               
   200 00000204 0D0A00                  		db 0Dh, 0Ah, 0
   201                                  
   202                                  sample_text_hdr:
   203 00000207 0D0A                    		db 0Dh, 0Ah
   204 00000209 53616D706C65205465-     		db "Sample Text to be written into SAMPLE.TXT file :"
   204 00000212 787420746F20626520-
   204 0000021B 7772697474656E2069-
   204 00000224 6E746F2053414D504C-
   204 0000022D 452E5458542066696C-
   204 00000236 65203A             
   205 00000239 0D0A00                  		db 0Dh, 0Ah, 0
   206                                  sample_text:
   207 0000023C 546869732069732061-     		db "This is a text for TRDOS 386 v2 SYSWRITE system call test."
   207 00000245 207465787420666F72-
   207 0000024E 205452444F53203338-
   207 00000257 362076322053595357-
   207 00000260 524954452073797374-
   207 00000269 656D2063616C6C2074-
   207 00000272 6573742E           
   208 00000276 0D0A                    		db 0Dh, 0Ah
   209 00000278 0D0A                    		db 0Dh, 0Ah
   210 0000027A 492072756E20656163-     		db "I run each teen me? Each team. Catch bar duck each teen?"
   210 00000283 68207465656E206D65-
   210 0000028C 3F2045616368207465-
   210 00000295 616D2E204361746368-
   210 0000029E 20626172206475636B-
   210 000002A7 206561636820746565-
   210 000002B0 6E3F               
   211 000002B2 0D0A                    		db 0Dh, 0Ah
   212 000002B4 4F6E20626172206475-     		db "On bar duck each team. Why high one why!"
   212 000002BD 636B20656163682074-
   212 000002C6 65616D2E2057687920-
   212 000002CF 68696768206F6E6520-
   212 000002D8 77687921           
   213 000002DC 0D0A00                  		db 0Dh, 0Ah, 0
   214                                  sample_text_size equ $ - (sample_text+1) ; except 0
   215                                  
   216                                  continue_msg:
   217 000002DF 0D0A                    		db 0Dh, 0Ah
   218 000002E1 50726573732061206B-     		db "Press a key to continue or press ESC to exit."
   218 000002EA 657920746F20636F6E-
   218 000002F3 74696E7565206F7220-
   218 000002FC 707265737320455343-
   218 00000305 20746F20657869742E 
   219                                  crlf:
   220 0000030E 0D0A00                  		db 0Dh, 0Ah, 0
   221                                  
   222                                  sample_file:
   223 00000311 53414D504C452E5458-     		db "SAMPLE.TXT", 0
   223 0000031A 5400               
   224                                  create_error:
   225 0000031C 0D0A                    		db 0Dh, 0Ah
   226 0000031E 535953435245415420-     		db "SYSCREAT - File creating/open error !"
   226 00000327 2D2046696C65206372-
   226 00000330 656174696E672F6F70-
   226 00000339 656E206572726F7220-
   226 00000342 21                 
   227 00000343 0D0A00                  		db 0Dh, 0Ah,0
   228                                  access_error:
   229 00000346 0D0A                    		db 0Dh, 0Ah
   230 00000348 46696C652061636365-     		db "File access/delete error !"
   230 00000351 73732F64656C657465-
   230 0000035A 206572726F722021   
   231 00000362 0D0A00                  		db 0Dh, 0Ah,0
   232                                  write_error:
   233 00000365 0D0A                    		db 0Dh, 0Ah
   234 00000367 535953575249544520-     		db "SYSWRITE - File write error !"
   234 00000370 2D2046696C65207772-
   234 00000379 697465206572726F72-
   234 00000382 2021               
   235 00000384 0D0A00                  		db 0Dh, 0Ah,0
   236                                  
   237                                  write_option_hdr:
   238 00000387 0D0A                    		db 0Dh, 0Ah
   239 00000389 53414D504C452E5458-     		db "SAMPLE.TXT file exists! Select owerwrite option:"
   239 00000392 542066696C65206578-
   239 0000039B 69737473212053656C-
   239 000003A4 656374206F77657277-
   239 000003AD 72697465206F707469-
   239 000003B6 6F6E3A             
   240 000003B9 0D0A                    		db 0Dh, 0Ah
   241 000003BB 00                      		db 0
   242                                  write_option:
   243 000003BC 0D0A                    		db 0Dh, 0Ah
   244 000003BE 454E544552202D2043-     		db "ENTER - Create/Truncate method (SYSCREAT)"
   244 000003C7 72656174652F547275-
   244 000003D0 6E63617465206D6574-
   244 000003D9 686F64202853595343-
   244 000003E2 5245415429         
   245 000003E7 0D0A                    		db 0Dh, 0Ah
   246 000003E9 455343202D2044656C-     		db "ESC - Delete/Create method (SYSUNLINK+SYSCREAT)"
   246 000003F2 6574652F4372656174-
   246 000003FB 65206D6574686F6420-
   246 00000404 28535953554E4C494E-
   246 0000040D 4B2B53595343524541-
   246 00000416 5429               
   247 00000418 0D0A00                  		db 0Dh, 0Ah, 0
   248                                  
   249 0000041B 00000000                filehandle:	dd 0
   250                                  
   251 0000041F FF<rep 18h>             fff_buffer:	times 24 db 0FFh
