.286p ifndef ??version ?debug macro endm publicdll macro name public name endm endif ?debug V 300h ?debug S "SIOCOPY.CPP" ?debug C E9834EFF1C0B53494F434F50592E435050 ?debug C E900186B171B433A5C424F524C414E44435C494E434C5544455C53+ ?debug C 5444494F2E48 ?debug C E900186B171B433A5C424F524C414E44435C494E434C5544455C5F+ ?debug C 444546532E48 ?debug C E900186B171B433A5C424F524C414E44435C494E434C5544455C5F+ ?debug C 4E554C4C2E48 ?debug C E900186B1719433A5C424F524C414E44435C494E434C5544455C44+ ?debug C 4F532E48 ?debug C E900186B1724433A5C424F524C414E44435C434C4153534C49425C+ ?debug C 494E434C5544455C54494D45522E48 ?debug C E900186B171B433A5C424F524C414E44435C494E434C5544455C43+ ?debug C 4F4E494F2E48 ?debug C E900186B171C433A5C424F524C414E44435C494E434C5544455C53+ ?debug C 54444C49422E48 _TEXT segment byte public 'CODE' _TEXT ends DGROUP group _DATA,_BSS assume cs:_TEXT,ds:DGROUP _DATA segment word public 'DATA' d@ label byte d@w label word _DATA ends _BSS segment word public 'BSS' b@ label byte b@w label word _BSS ends _DATA segment word public 'DATA' _d810 label byte db 40 db 0 db 0 db 18 db 0 db 0 db 0 db 80 db 1 db 65 db 0 db 0 db 252 _d1050 label byte db 40 db 0 db 0 db 26 db 0 db 4 db 0 db 80 db 1 db 65 db 0 db 0 db 9 _xf551 label byte db 40 db 0 db 0 db 18 db 0 db 4 db 1 db 0 db 1 db 65 db 0 db 0 db 130 _data label byte db 512 dup (0) _data_valid label word db 2 dup (0) _data_xmit label word db 2 dup (0) _DATA ends _TEXT segment byte public 'CODE' ?debug C E8010B53494F434F50592E435050834EFF1C ?debug L 93 assume cs:_TEXT @calibrate$qd proc near ?debug B push bp mov bp,sp sub sp,40 push si ?debug C E604667265710F0A040000 ?debug B ?debug L 95 fld dword ptr DGROUP:s@ fdiv qword ptr [bp+4] fstp qword ptr [bp-16] ?debug L 96 fld qword ptr DGROUP:s@+4 fstp qword ptr [bp-24] ?debug L 97 fwait mov word ptr [bp-28],128 ?debug L 98 mov word ptr DGROUP:_data_valid,128 ?debug L 100 mov dx,97 mov al,1 out dx,al ?debug L 102 mov word ptr [bp-34],0 jmp @1@450 @1@58: ?debug L 104 mov word ptr [bp-30],0 mov word ptr [bp-32],0 ?debug B ?debug L 105 mov word ptr [bp-40],0 jmp short @1@310 @1@114: ?debug L 107 mov dx,67 mov al,180 out dx,al ?debug L 108 mov si,DGROUP:_data_valid ?debug L 109 mov dx,66 mov al,0 out dx,al ?debug L 110 mov dx,66 mov al,0 out dx,al @1@198: ?debug L 114 dec si jne short @1@198 ?debug L 116 mov dx,67 mov al,128 out dx,al ?debug L 117 mov dx,66 in al,dx mov ah,0 mov word ptr [bp-26],ax ?debug L 118 mov dx,66 in al,dx mov ah,0 shl ax,8 add word ptr [bp-26],ax ?debug L 119 mov ax,word ptr [bp-26] neg ax add word ptr [bp-32],ax adc word ptr [bp-30],0 ?debug L 105 inc word ptr [bp-40] @1@310: cmp word ptr [bp-40],1000 jl short @1@114 ?debug L 121 mov ax,word ptr [bp-30] mov dx,word ptr [bp-32] mov word ptr [bp-38],dx mov word ptr [bp-36],ax fild dword ptr [bp-38] fmul qword ptr [bp-24] fdiv dword ptr DGROUP:s@+12 fstp qword ptr [bp-8] ?debug L 122 fld qword ptr [bp-8] fcomp qword ptr [bp-16] fstsw ax sahf jbe short @1@394 mov ax,word ptr [bp-28] sub word ptr DGROUP:_data_valid,ax @1@394: ?debug L 123 mov ax,word ptr [bp-28] shr ax,1 mov word ptr [bp-28],ax ?debug L 124 mov ax,word ptr [bp-28] or word ptr DGROUP:_data_valid,ax ?debug C E601690402D8FF00 ?debug E ?debug L 102 inc word ptr [bp-34] @1@450: cmp word ptr [bp-34],8 jge @@0 jmp @1@58 @@0: ?debug L 131 mov ax,word ptr DGROUP:_data_valid mov word ptr [bp-38],ax mov word ptr [bp-36],0 fild dword ptr [bp-38] fmul qword ptr DGROUP:s@+16 call near ptr N_FTOL@ mov word ptr DGROUP:_data_valid,ax ?debug L 134 push word ptr DGROUP:_data_valid fld qword ptr [bp-8] fsub qword ptr [bp-16] fmul dword ptr DGROUP:s@+64 sub sp,8 fstp qword ptr [bp-52] push offset DGROUP:s@+24 fwait call near ptr _printf add sp,12 ?debug L 135 cmp word ptr DGROUP:_data_valid,25 jae short @1@534 ?debug L 137 push offset DGROUP:s@+68 call near ptr _puts add sp,2 @1@534: ?debug L 138 pop si leave ret ?debug C E60273610402DEFF0001740602E0FF0003696E63+ ?debug C 0A02E4FF000474656D700A02E6FF000C636C6F63+ ?debug C 6B5F706572696F640F02E8FF0004726174650F02+ ?debug C F0FF000374696D0F02F8FF0004667265710F0A04+ ?debug C 0000 ?debug E ?debug E @calibrate$qd endp ?debug L 174 assume cs:_TEXT @get_bytes$qpucii proc near ?debug B push bp mov bp,sp push si push di ?debug C E318000200150804 ?debug C E60774696D656F7574040A080000036C656E040A+ ?debug C 0600000464617461180A040000 ?debug B ?debug L 180 cli ?debug L 181 mov dx,37ah ?debug L 182 mov di,[bp+4] ?debug L 183 mov bx,[bp+6] ?debug L 184 mov si,0 ?debug L 185 mov cx,[bp+8] @2@198: ?debug L 189 dec si ?debug L 190 jne short @2@310 ?debug L 191 dec cx ?debug L 192 je short @2@450 @2@310: ?debug L 196 in al,dx ?debug L 197 test al,8 ?debug L 198 je short @2@198 ?debug L 199 mov cl,0 ?debug L 200 mov ch,9d @2@450: ?debug L 203 mov ax,DGROUP:_data_valid @2@478: ?debug L 206 dec ax ?debug L 207 jne short @2@478 ?debug L 208 shr cl,1 ?debug L 209 in al,dx ?debug L 210 shl al,4 ?debug L 211 and al,80h ?debug L 212 or cl,al ?debug L 213 mov ax,DGROUP:_data_valid @2@702: ?debug L 217 dec ax ?debug L 218 jne short @2@702 ?debug L 219 dec ch ?debug L 220 jne short @2@450 ?debug L 221 not cl ?debug L 222 mov ds:[di],cl ?debug L 223 inc di ?debug L 224 mov ax,DGROUP:_data_valid @2@926: ?debug L 228 dec ax ?debug L 229 jne short @2@926 ?debug L 230 dec bx ?debug L 231 mov si,0 ?debug L 232 mov cx,[bp+8] ?debug L 233 jne short @2@198 ?debug L 234 sti ?debug L 237 pop di pop si pop bp ret ?debug C E60464617461180A040000036C656E040A060000+ ?debug C 0774696D656F7574040A080000 ?debug E ?debug E @get_bytes$qpucii endp ?debug L 269 assume cs:_TEXT @send_data$qpuci proc near ?debug B push bp mov bp,sp push si push di ?debug C E6036C656E040A0600000464617461180A040000 ?debug B ?debug L 272 cli ?debug L 273 mov dx,37ah ?debug L 274 mov di,[bp+4] ?debug L 275 mov si,[bp+6] ?debug L 276 xor bh,bh @3@170: ?debug L 280 mov bl,[di] ?debug L 281 not bl ?debug L 282 stc ?debug L 283 rcl bx,2 ?debug L 284 mov cx,10d @3@310: ?debug L 288 mov ax,DGROUP:_data_valid @3@338: ?debug L 292 dec ax ?debug L 293 jne short @3@338 ?debug L 294 mov al,bl ?debug L 295 and al,2 ?debug L 296 or al,4 ?debug L 297 out dx,al ?debug L 298 shr bx,1 ?debug L 299 mov ax,DGROUP:_data_xmit @3@562: ?debug L 303 dec ax ?debug L 304 jne short @3@562 ?debug L 305 dec cx ?debug L 306 jne short @3@310 ?debug L 307 mov ax,DGROUP:_data_valid @3@702: ?debug L 311 dec ax ?debug L 312 jne short @3@702 ?debug L 313 inc di ?debug L 314 dec si ?debug L 315 jne short @3@170 ?debug L 316 sti ?debug L 319 push 5 push 2 push word ptr [bp+4] call near ptr @get_bytes$qpucii add sp,6 ?debug L 321 pop di pop si pop bp ret ?debug C E60464617461180A040000036C656E040A060000 ?debug E ?debug E @send_data$qpuci endp ?debug L 351 assume cs:_TEXT @send_frame$qpuc proc near ?debug B push bp mov bp,sp push si push di ?debug C E60464617461180A040000 ?debug B ?debug L 354 cli ?debug L 355 mov dx,37ah ?debug L 356 mov di,[bp+4] ?debug L 357 mov si,5 ?debug L 358 xor bh,bh @4@170: ?debug L 362 mov bl,[di] ?debug L 363 not bl ?debug L 364 stc ?debug L 365 rcl bx,2 ?debug L 366 mov cx,10d @4@310: ?debug L 370 mov ax,DGROUP:_data_valid @4@338: ?debug L 374 dec ax ?debug L 375 jne short @4@338 ?debug L 376 mov al,bl ?debug L 377 and al,2 ?debug L 378 or al,5 ?debug L 379 out dx,al ?debug L 380 shr bx,1 ?debug L 381 mov ax,DGROUP:_data_xmit @4@562: ?debug L 385 dec ax ?debug L 386 jne short @4@562 ?debug L 387 dec cx ?debug L 388 jne short @4@310 ?debug L 389 mov ax,DGROUP:_data_valid @4@702: ?debug L 393 dec ax ?debug L 394 jne short @4@702 ?debug L 395 inc di ?debug L 396 dec si ?debug L 397 jne short @4@170 ?debug L 398 sti ?debug L 401 pop di pop si pop bp ret ?debug C E60464617461180A040000 ?debug E ?debug E @send_frame$qpuc endp ?debug L 438 assume cs:_TEXT @frame_getdata$qucucucucipuci proc near ?debug B push bp mov bp,sp sub sp,4 ?debug C E6036C656E040A1000000464617461180A0E0000+ ?debug C 0774696D656F7574040A0C00000461757832080A+ ?debug C 0A00000461757831080A08000007636F6D6D616E+ ?debug C 64080A060000056472697665080A040000 ?debug B ?debug L 441 mov word ptr [bp-2],0 ?debug L 442 mov dx,890 mov al,4 out dx,al ?debug L 443 mov al,byte ptr [bp+4] add al,48 mov bx,word ptr [bp+14] mov byte ptr [bx],al ?debug L 444 mov bx,word ptr [bp+14] mov al,byte ptr [bp+6] mov byte ptr [bx+1],al ?debug L 445 mov bx,word ptr [bp+14] mov al,byte ptr [bp+8] mov byte ptr [bx+2],al ?debug L 446 mov bx,word ptr [bp+14] mov al,byte ptr [bp+10] mov byte ptr [bx+3],al ?debug L 447 mov word ptr [bp-4],0 jmp short @5@142 @5@58: ?debug L 449 mov bx,word ptr [bp+14] add bx,word ptr [bp-4] mov al,byte ptr [bx] mov ah,0 add word ptr [bp-2],ax ?debug L 450 cmp word ptr [bp-2],255 jle short @5@114 sub word ptr [bp-2],255 @5@114: ?debug L 447 inc word ptr [bp-4] @5@142: cmp word ptr [bp-4],4 jl short @5@58 ?debug L 452 mov bx,word ptr [bp+14] mov al,byte ptr [bp-2] mov byte ptr [bx+4],al ?debug L 455 mov dx,890 mov al,5 out dx,al ?debug L 456 mov ax,200 @5@226: ?debug L 458 dec ax jne short @5@226 ?debug L 460 push word ptr [bp+14] call near ptr @send_frame$qpuc add sp,2 ?debug L 461 mov ax,100 @5@338: ?debug L 463 dec ax jne short @5@338 ?debug L 465 mov dx,890 mov al,4 out dx,al ?debug L 466 push word ptr [bp+12] mov ax,word ptr [bp+16] add ax,2 push ax push word ptr [bp+14] call near ptr @get_bytes$qpucii add sp,6 ?debug L 470 mov bx,word ptr [bp+14] cmp byte ptr [bx],65 jne short @5@450 mov ax,1 jmp short @5@478 @5@450: xor ax,ax @5@478: leave ret ?debug L 471 leave ret ?debug C E601690402FCFF0005636865636B0402FEFF0005+ ?debug C 6472697665080A04000007636F6D6D616E64080A+ ?debug C 0600000461757831080A0800000461757832080A+ ?debug C 0A00000774696D656F7574040A0C000004646174+ ?debug C 61180A0E0000036C656E040A100000 ?debug E ?debug E @frame_getdata$qucucucucipuci endp ?debug L 510 assume cs:_TEXT @frame_senddata$qucucucucucpuct6i proc near ?debug B push bp mov bp,sp sub sp,4 ?debug C E6066C656E627566040A12000003627566180A10+ ?debug C 00000464617461180A0E00000774696D656F7574+ ?debug C 080A0C00000461757832080A0A00000461757831+ ?debug C 080A08000007636F6D6D616E64080A0600000564+ ?debug C 72697665080A040000 ?debug B ?debug L 513 mov word ptr [bp-2],0 ?debug L 514 mov dx,890 mov al,4 out dx,al ?debug L 515 mov al,byte ptr [bp+4] add al,48 mov bx,word ptr [bp+14] mov byte ptr [bx],al ?debug L 516 mov bx,word ptr [bp+14] mov al,byte ptr [bp+6] mov byte ptr [bx+1],al ?debug L 517 mov bx,word ptr [bp+14] mov al,byte ptr [bp+8] mov byte ptr [bx+2],al ?debug L 518 mov bx,word ptr [bp+14] mov al,byte ptr [bp+10] mov byte ptr [bx+3],al ?debug L 519 mov word ptr [bp-4],0 jmp short @6@142 @6@58: ?debug L 521 mov bx,word ptr [bp+14] add bx,word ptr [bp-4] mov al,byte ptr [bx] mov ah,0 add word ptr [bp-2],ax ?debug L 522 cmp word ptr [bp-2],255 jle short @6@114 sub word ptr [bp-2],255 @6@114: ?debug L 519 inc word ptr [bp-4] @6@142: cmp word ptr [bp-4],4 jl short @6@58 ?debug L 524 mov bx,word ptr [bp+14] mov al,byte ptr [bp-2] mov byte ptr [bx+4],al ?debug L 526 mov dx,890 mov al,5 out dx,al ?debug L 527 mov ax,200 @6@226: ?debug L 529 dec ax jne short @6@226 ?debug L 531 push word ptr [bp+14] call near ptr @send_frame$qpuc add sp,2 ?debug L 532 mov ax,100 @6@338: ?debug L 534 dec ax jne short @6@338 ?debug L 536 mov dx,890 mov al,4 out dx,al ?debug L 537 mov al,byte ptr [bp+12] mov ah,0 push ax push 1 push word ptr [bp+14] call near ptr @get_bytes$qpucii add sp,6 ?debug L 539 push word ptr [bp+18] push word ptr [bp+16] call near ptr @send_data$qpuci add sp,4 ?debug L 542 mov bx,word ptr [bp+14] cmp byte ptr [bx],65 jne short @6@450 mov ax,1 jmp short @6@478 @6@450: xor ax,ax @6@478: leave ret ?debug L 543 leave ret ?debug C E601690402FCFF0005636865636B0402FEFF0005+ ?debug C 6472697665080A04000007636F6D6D616E64080A+ ?debug C 0600000461757831080A0800000461757832080A+ ?debug C 0A00000774696D656F7574080A0C000004646174+ ?debug C 61180A0E000003627566180A100000066C656E62+ ?debug C 7566040A120000 ?debug E ?debug E @frame_senddata$qucucucucucpuct6i endp ?debug L 552 assume cs:_TEXT _main proc near ?debug B push bp mov bp,sp sub sp,28 ?debug C E319000200151804 ?debug C E60461726776190A0600000461726763040A0400+ ?debug C 00 ?debug B ?debug L 556 cmp word ptr [bp+4],2 jge short @7@86 ?debug L 557 push offset DGROUP:s@+138 call near ptr _puts add sp,2 ?debug L 558 push offset DGROUP:s@+204 call near ptr _puts add sp,2 ?debug L 559 push offset DGROUP:s@+262 call near ptr _puts add sp,2 ?debug L 560 push offset DGROUP:s@+293 call near ptr _puts add sp,2 ?debug L 561 push offset DGROUP:s@+326 call near ptr _puts add sp,2 ?debug L 562 push offset DGROUP:s@+357 call near ptr _puts add sp,2 ?debug L 563 push 0 call near ptr _exit add sp,2 @7@86: ?debug L 575 cmp word ptr [bp+4],3 jle short @7@142 mov bx,word ptr [bp+6] push word ptr [bx+6] call near ptr __atold add sp,2 fstp qword ptr [bp-10] fwait jmp short @7@170 @7@142: ?debug L 576 fld dword ptr DGROUP:s@+410 fstp qword ptr [bp-10] fwait @7@170: ?debug L 580 fld qword ptr [bp-10] sub sp,8 fstp qword ptr [bp-36] push offset DGROUP:s@+414 fwait call near ptr _printf add sp,10 ?debug L 581 fld qword ptr [bp-10] sub sp,8 fstp qword ptr [bp-36] fwait call near ptr @calibrate$qd add sp,8 ?debug L 583 mov ax,word ptr DGROUP:_data_valid mov word ptr DGROUP:_data_xmit,ax ?debug L 584 mov dx,890 mov al,4 out dx,al ?debug L 586 mov word ptr [bp-12],0 ?debug L 587 mov word ptr [bp-14],0 ?debug L 588 mov ax,word ptr DGROUP:_data_valid mov word ptr [bp-16],ax jmp short @7@450 @7@198: ?debug L 592 cmp word ptr [bp-14],0 jne short @7@254 mov ax,word ptr [bp-16] sub ax,word ptr [bp-12] mov word ptr DGROUP:_data_valid,ax jmp short @7@282 @7@254: ?debug L 593 mov ax,word ptr [bp-16] add ax,word ptr [bp-12] mov word ptr DGROUP:_data_valid,ax @7@282: ?debug L 595 mov ax,word ptr DGROUP:_data_valid mov word ptr DGROUP:_data_xmit,ax ?debug L 597 inc word ptr [bp-12] ?debug L 598 push word ptr DGROUP:_data_valid push offset DGROUP:s@+458 call near ptr _printf add sp,4 ?debug L 599 cmp word ptr [bp-12],10 jle short @7@366 cmp word ptr [bp-14],0 jne short @7@366 ?debug L 601 mov word ptr [bp-14],1 ?debug L 602 mov word ptr [bp-12],0 @7@366: ?debug L 604 cmp word ptr [bp-12],10 jle short @7@450 cmp word ptr [bp-14],1 jne short @7@450 ?debug L 606 push offset DGROUP:s@+475 call near ptr _puts add sp,2 ?debug L 607 push 0 call near ptr _exit add sp,2 @7@450: ?debug L 590 push 5 push offset DGROUP:_data push 1 push 0 push 0 push 83 push 1 call near ptr @frame_getdata$qucucucucipuci add sp,14 or ax,ax jne @@1 jmp @7@198 @@1: ?debug L 612 push offset DGROUP:s@+549 mov bx,word ptr [bp+6] push word ptr [bx+2] call near ptr _fopen add sp,4 mov word ptr [bp-18],ax ?debug L 615 mov word ptr [bp-20],720 mov word ptr [bp-22],128 mov word ptr [bp-24],82 ?debug L 616 push offset DGROUP:s@+552 call near ptr _puts add sp,2 ?debug L 619 cmp word ptr [bp+4],2 jg @@2 jmp @7@1374 @@2: ?debug L 621 mov bx,word ptr [bp+6] inc word ptr [bx+4] ?debug L 622 mov bx,word ptr [bp+6] mov bx,word ptr [bx+4] mov al,byte ptr [bx] mov ah,0 cmp ax,100 jne @@3 jmp @7@982 @@3: jg short @7@730 cmp ax,68 jne @@4 jmp @7@982 @@4: cmp ax,69 je short @7@814 cmp ax,83 jne @@5 jmp @7@1318 @@5: jmp @7@1346 @7@730: cmp ax,101 je short @7@814 cmp ax,115 jne @@6 jmp @7@1318 @@6: jmp @7@1346 @7@814: ?debug L 629 push 13 push offset DGROUP:_d1050 push offset DGROUP:_data push 40 push 0 push 0 push 79 push 1 call near ptr @frame_senddata$qucucucucucpuct6i add sp,16 or ax,ax jne short @7@870 ?debug L 633 mov word ptr [bp-24],36 ?debug L 634 mov word ptr [bp-20],1040 ?debug L 635 jmp @7@1374 @7@870: ?debug L 639 push 129 push offset DGROUP:_data push 40 push 0 push 1 push 82 push 1 call near ptr @frame_getdata$qucucucucipuci add sp,14 ?debug L 640 push 500 call near ptr _delay add sp,2 ?debug L 643 push 13 push offset DGROUP:_data push 40 push 0 push 0 push 78 push 1 call near ptr @frame_getdata$qucucucucipuci add sp,14 ?debug L 645 cmp byte ptr DGROUP:_data+7,4 je short @7@926 ?debug L 647 push offset DGROUP:s@+580 call near ptr _puts add sp,2 ?debug L 648 mov word ptr [bp-20],720 ?debug L 649 jmp short @7@954 @7@926: ?debug L 650 mov word ptr [bp-20],1040 @7@954: ?debug L 651 jmp @7@1374 @7@982: ?debug L 659 push 13 push offset DGROUP:_xf551 push offset DGROUP:_data push 40 push 0 push 0 push 79 push 1 call near ptr @frame_senddata$qucucucucucpuct6i add sp,16 or ax,ax jne short @7@1038 ?debug L 660 push offset DGROUP:s@+610 call near ptr _puts add sp,2 push 0 call near ptr _exit add sp,2 @7@1038: ?debug L 663 push 129 push offset DGROUP:_data push 40 push 0 push 1 push 82 push 1 call near ptr @frame_getdata$qucucucucipuci add sp,14 ?debug L 664 push 500 call near ptr _delay add sp,2 ?debug L 667 push 13 push offset DGROUP:_data push 40 push 0 push 0 push 78 push 1 call near ptr @frame_getdata$qucucucucipuci add sp,14 ?debug L 672 cmp byte ptr DGROUP:_data+8,1 jne short @7@1094 ?debug L 673 mov word ptr [bp-22],256 jmp short @7@1122 @7@1094: ?debug L 676 push offset DGROUP:s@+647 call near ptr _puts add sp,2 ?debug L 677 mov word ptr [bp-22],128 @7@1122: ?debug L 680 cmp byte ptr DGROUP:_data+6,1 jne short @7@1178 ?debug L 681 mov word ptr [bp-20],1040 jmp short @7@1290 @7@1178: ?debug L 684 push offset DGROUP:s@+666 call near ptr _puts add sp,2 ?debug L 685 cmp byte ptr DGROUP:_data+7,0 jne short @7@1234 mov ax,720 jmp short @7@1262 @7@1234: mov ax,1040 @7@1262: mov word ptr [bp-20],ax @7@1290: ?debug L 687 jmp short @7@1374 @7@1318: ?debug L 691 mov word ptr [bp-20],720 ?debug L 692 push 13 push offset DGROUP:_d810 push offset DGROUP:_data push 10 push 0 push 0 push 79 push 1 call near ptr @frame_senddata$qucucucucucpuct6i add sp,16 ?debug L 693 jmp short @7@1374 @7@1346: ?debug L 695 push offset DGROUP:s@+683 call near ptr _puts add sp,2 ?debug L 696 push 0 call near ptr _exit add sp,2 @7@1374: ?debug L 702 mov word ptr [bp-26],1 jmp @7@1738 @7@1402: ?debug L 704 push word ptr [bp-26] push offset DGROUP:s@+740 call near ptr _printf add sp,4 ?debug L 705 mov ax,word ptr [bp-22] inc ax push ax push offset DGROUP:_data push 2 mov ax,word ptr [bp-26] sar ax,8 push ax mov al,byte ptr [bp-26] and al,255 push ax mov al,byte ptr [bp-24] push ax push 1 call near ptr @frame_getdata$qucucucucipuci add sp,14 or ax,ax jne short @7@1458 ?debug L 706 push offset DGROUP:s@+761 call near ptr _puts add sp,2 @7@1458: ?debug L 709 mov word ptr [bp-2],0 ?debug B ?debug L 710 mov word ptr [bp-28],0 jmp short @7@1598 @7@1514: ?debug L 712 mov bx,word ptr [bp-28] mov al,byte ptr DGROUP:_data[bx+2] mov ah,0 add word ptr [bp-2],ax ?debug L 713 cmp word ptr [bp-2],255 jbe short @7@1570 sub word ptr [bp-2],255 @7@1570: ?debug L 710 inc word ptr [bp-28] @7@1598: mov ax,word ptr [bp-28] cmp ax,word ptr [bp-22] jl short @7@1514 ?debug L 715 mov bx,word ptr [bp-22] mov al,byte ptr DGROUP:_data[bx+2] mov ah,0 cmp ax,word ptr [bp-2] je short @7@1682 ?debug L 716 push word ptr [bp-26] push offset DGROUP:s@+777 call near ptr _printf add sp,4 ?debug L 717 push offset DGROUP:s@+807 call near ptr _puts add sp,2 ?debug L 718 push 0 call near ptr _exit add sp,2 @7@1682: ?debug L 721 push word ptr [bp-18] push 1 push word ptr [bp-22] push offset DGROUP:_data+2 call near ptr _fwrite add sp,8 ?debug C E6016B0402E4FF00 ?debug E ?debug L 702 inc word ptr [bp-26] @7@1738: mov ax,word ptr [bp-26] cmp ax,word ptr [bp-20] jg @@7 jmp @7@1402 @@7: ?debug L 723 push word ptr [bp-18] call near ptr _fclose add sp,2 ?debug L 724 leave ret ?debug C E31B0446494C4510001E01 ?debug C E31A000200151B04 ?debug C E604736563740402E6FF0004726561640402E8FF+ ?debug C 00096E756D5F62797465730402EAFF00086E756D+ ?debug C 5F736563740402ECFF0004666F75741A02EEFF00+ ?debug C 0A646174615F64656C61790A02F0FF0004666C61+ ?debug C 670402F2FF0006646964646C650402F4FF000773+ ?debug C 696F726174650F02F6FF0005636865636B0A02FE+ ?debug C FF000461726763040A0400000461726776190A06+ ?debug C 0000 ?debug E ?debug E _main endp ?debug C E9 ?debug C FA00000000 _TEXT ends _DATA segment word public 'DATA' s@ label byte db 0 db 0 db 0 db '?' db 139 db 0 db '1' db 186 db '1' db 31 db 172 db '>' db 0 db 0 db 'zD\' db 143 db 194 db 245 db '(\' db 239 db '?' db 10 db 'count error = %lg nS loop count = %d' db 10 db 0 db '(knNThe cpu clock is probably too slow for this program to wo' db 'rk properly.' db 0 db '**This program copy and entire atari disk to an ibm image fil' db 'e.**' db 0 db 'usage:siocopy out_filename < -s, -e -d, or -2> ' db 0 db '-s' db 9 db 'single sided single density' db 0 db '-e' db 9 db 'single sided enhanced density' db 0 db '-d' db 9 db 'double sided double density' db 0 db 'If sio rate not given, 19200 bits per second is used' db 0 db 0 db 0 db 150 db 'F--- calibrating SIO data rate to %lg hz---' db 10 db 0 db 13 db 'loop count = %d' db 0 db 10 db 'Disk drive not responding: be sure the drive is connected and' db ' turned on.' db 0 db 'wb' db 0 db 'reading atari disk drive #1' db 0 db 'Not an enhanced density disk.' db 0 db 'This disk drive is not configurable.' db 0 db 'not double density' db 0 db 'not double sided' db 0 db 'Drive type must be one of the following: <-s, -e, or -d>' db 0 db 'reading sector %d' db 13 db 0 db 'sector not read' db 0 db 'checksum error at sector %d.' db 10 db 0 db 'Bad disk, copy protected disk or wrong disk type' db 0 _DATA ends _TEXT segment byte public 'CODE' _TEXT ends extrn __setargv__:far public _main public @frame_senddata$qucucucucucpuct6i public @frame_getdata$qucucucucipuci public @send_frame$qpuc public @send_data$qpuci public @get_bytes$qpucii extrn N_FTOL@:far public @calibrate$qd public _data_xmit public _data_valid public _data public _xf551 public _d1050 public _d810 extrn __atold:near extrn _exit:near _atoi equ atoi _abs equ abs extrn @Timer@adjust:word _pokeb equ pokeb _poke equ poke _peekb equ peekb _peek equ peek extrn _delay:near extrn _puts:near extrn _printf:near extrn _fwrite:near extrn _fopen:near extrn _fclose:near _s@ equ s@ ?debug C EA0509 ?debug C E31C00000023040500 ?debug C EB0B5F5F736574617267765F5F1C00 ?debug C E31D00000023010000 ?debug C EC055F6D61696E1D1800 ?debug C E31E00000023040000 ?debug C EC21406672616D655F73656E6464617461247175+ ?debug C 6375637563756375637075637436691E1800 ?debug C E31F00000023040000 ?debug C EC1D406672616D655F6765746461746124717563+ ?debug C 75637563756369707563691F1800 ?debug C E32000000023010000 ?debug C EC104073656E645F6672616D6524717075632018+ ?debug C 00 ?debug C E32100000023010000 ?debug C EC104073656E645F646174612471707563692118+ ?debug C 00 ?debug C E32200000023010000 ?debug C EC11406765745F62797465732471707563696922+ ?debug C 1800 ?debug C EB074E5F46544F4C401C00 ?debug C E32300000023010000 ?debug C EC0D4063616C696272617465247164231800 ?debug C EC0A5F646174615F786D69740A0000 ?debug C EC0B5F646174615F76616C69640A0000 ?debug C E3240000021A08 ?debug C EC055F64617461240000 ?debug C E325000D001A08 ?debug C EC065F7866353531250000 ?debug C E326000D001A08 ?debug C EC065F6431303530260000 ?debug C E327000D001A08 ?debug C EC055F64383130270000 ?debug C E32809445256434F4E4649470D001E0B ?debug C E32900000023100000 ?debug C EB075F5F61746F6C642900 ?debug C E32A00000023010000 ?debug C E32B00000023040000 ?debug C E32C00000023010000 ?debug C EB055F657869742C00 ?debug C E32D00000023040000 ?debug C E32E00000023040000 ?debug C E32F09746578745F696E666F0B001E16 ?debug C E3300554696D657210002E01 ?debug C ED00010000220000 ?debug C E331000200153004 ?debug C E3320000002D31000130000F4054696D65724024+ ?debug C 62637472247176 ?debug C E3340000002D01000130000F4054696D65724073+ ?debug C 74617274247176 ?debug C E3360000002D01000130000E4054696D65724073+ ?debug C 746F70247176 ?debug C E3380000002D01000130000F4054696D65724072+ ?debug C 65736574247176 ?debug C E33A0000002D0400093000 ?debug C E33C0000002D0F00093000 ?debug C E33E0000002D0F00093000 ?debug C E3400000002D0A00013000134054696D65724063+ ?debug C 616C696272617465247176 ?debug C E3420B4054696D65724054494D4506002E02 ?debug C ED00020000300100 ?debug C E34300000023010000 ?debug C E34400000023010000 ?debug C E34500000023080000 ?debug C E34600000023040000 ?debug C E34700000023010000 ?debug C EB065F64656C61794700 ?debug C E3480666696E645F742B001E33 ?debug C E3490015001A08 ?debug C E34A000D001A08 ?debug C E34B056666626C6B2B001E3A ?debug C E34C0015001A08 ?debug C E34D000D001A08 ?debug C E34E075245475041434B14001E41 ?debug C E34F05535245475308001E4C ?debug C E350045245475310001F51 ?debug C E35108574F52445245475310001E54 ?debug C E35208425954455245475308001E5D ?debug C E35309646F73646174655F7405001E66 ?debug C E354046461746504001E6B ?debug C E35509646F7374696D655F7404001E6F ?debug C E3560474696D6504001E74 ?debug C E3570664657668647212001E79 ?debug C E3580008001A08 ?debug C E35907666174696E666F06001E7F ?debug C E35A0A6469736B667265655F7408001E8084 ?debug C E35B05646672656508001E8089 ?debug C E35C08444F534552524F5205001E808E ?debug C E35D07434F554E54525922001E8093 ?debug C E35E0005001A08 ?debug C E35F0002001A08 ?debug C E3600002001A08 ?debug C E3610002001A08 ?debug C E3620002001A08 ?debug C E3630002001A08 ?debug C E364000A001A08 ?debug C E36504786663622C001E80A0 ?debug C E3660005001A08 ?debug C E3670366636225001E80A5 ?debug C E3680008001A08 ?debug C E3690003001A08 ?debug C E36A000A001A08 ?debug C E36B00000023040000 ?debug C EB055F707574736B00 ?debug C E36C00000023040001 ?debug C EB075F7072696E74666C00 ?debug C E36D000000230A0000 ?debug C EB075F6677726974656D00 ?debug C E36E000000231A0000 ?debug C EB065F666F70656E6E00 ?debug C E36F00000023040000 ?debug C EB075F66636C6F73656F00 ?debug C E60777636861725F740806000446494C451B0600+ ?debug C 0666706F735F740606000673697A655F740A0600+ ?debug C 09445256434F4E46494728070009746578745F69+ ?debug C 6E666F2F07000554696D65723007000666696E64+ ?debug C 5F74480700056666626C6B4B0700075245475041+ ?debug C 434B4E07000553524547534F0700045245475350+ ?debug C 070008425954455245475352070008574F524452+ ?debug C 45475351070009646F73646174655F7453070004+ ?debug C 6461746554070009646F7374696D655F74550700+ ?debug C 0474696D65560700066465766864725707000766+ ?debug C 6174696E666F5907000A6469736B667265655F74+ ?debug C 5A07000564667265655B070008444F534552524F+ ?debug C 525C070007434F554E5452595D07000478666362+ ?debug C 65070003666362670700 ?debug F @randomize$qv 42 24 0 ?debug F @random$qi 43 24 0 ?debug F atoi 45 24 0 ?debug F abs 46 24 0 ?debug F pokeb 67 24 0 ?debug F poke 68 24 0 ?debug F peekb 69 24 0 ?debug F peek 70 24 0 ?debug C E200056C6576656C040005666C6167730A000266+ ?debug C 64080004686F6C640800056273697A6504000662+ ?debug C 756666657218000463757270180006697374656D+ ?debug C 700A0005746F6B656E04C010000000 ?debug C E200064452565452430800064452565354500400+ ?debug C 0644525653454308000644525653494408000644+ ?debug C 525644454E080006445256425954040006445256+ ?debug C 53454C0800064452565345520800064452564D53+ ?debug C 4304000643484B53554D08C00D000000 ?debug C E2000777696E6C65667408000677696E746F7008+ ?debug C 000877696E726967687408000977696E626F7474+ ?debug C 6F6D0800096174747269627574650800086E6F72+ ?debug C 6D61747472080008637572726D6F646508000C73+ ?debug C 637265656E68656967687408000B73637265656E+ ?debug C 7769647468080004637572780800046375727908+ ?debug C C00B000000 ?debug C E24A0F4054696D65724024626374722471763248+ ?debug C 0F4054696D657240737461727424717634480E40+ ?debug C 54696D65724073746F7024717636480F4054696D+ ?debug C 65724072657365742471763848104054696D6572+ ?debug C 407374617475732471763A480E4054696D657240+ ?debug C 74696D652471763C48144054696D657240726573+ ?debug C 6F6C7574696F6E2471763E600D4054696D657240+ ?debug C 61646A7573740A48134054696D65724063616C69+ ?debug C 627261746524717640000772756E6E696E670470+ ?debug C 0454494D45420009737461727454696D65420005+ ?debug C 74696D655F0FC010000000 ?debug C E20008646F73436F756E740C000A74696D657243+ ?debug C 6F756E740AC006000000 ?debug C E200087265736572766564490006617474726962+ ?debug C 08000777725F74696D650A000777725F64617465+ ?debug C 0A000473697A650600046E616D654AC02B000000 ?debug C E2000B66665F72657365727665644C000966665F+ ?debug C 61747472696208000866665F6674696D650A0008+ ?debug C 66665F66646174650A000866665F6673697A6506+ ?debug C 000766665F6E616D654DC02B000000 ?debug C E20004725F61780A0004725F62780A0004725F63+ ?debug C 780A0004725F64780A0004725F62700A0004725F+ ?debug C 73690A0004725F64690A0004725F64730A000472+ ?debug C 5F65730A0007725F666C6167730AC014000000 ?debug C E2000265730A000263730A000273730A00026473+ ?debug C 0AC008000000 ?debug C E20001785100016852C010000000 ?debug C E2000261780A000262780A000263780A00026478+ ?debug C 0A000273690A000264690A000563666C61670A00+ ?debug C 05666C6167730AC010000000 ?debug C E20002616C0800026168080002626C0800026268+ ?debug C 080002636C0800026368080002646C0800026468+ ?debug C 08C008000000 ?debug C E200036461790800056D6F6E7468080004796561+ ?debug C 720A00096461796F667765656B08C005000000 ?debug C E2000764615F7965617204000664615F64617908+ ?debug C 000664615F6D6F6E08C004000000 ?debug C E20004686F75720800066D696E75746508000673+ ?debug C 65636F6E64080007687365636F6E6408C0040000+ ?debug C 00 ?debug C E2000674695F6D696E08000774695F686F757208+ ?debug C 000774695F68756E6408000674695F73656308C0+ ?debug C 04000000 ?debug C E2000764685F6E65787406000764685F61747472+ ?debug C 04000864685F73747261740A000864685F696E74+ ?debug C 65720A000764685F6E616D6558C012000000 ?debug C E2000866695F73636C757308000866695F666174+ ?debug C 696408000866695F6E636C75730A000866695F62+ ?debug C 7973656304C006000000 ?debug C E2000E746F74616C5F636C7573746572730A000E+ ?debug C 617661696C5F636C7573746572730A0013736563+ ?debug C 746F72735F7065725F636C75737465720A001062+ ?debug C 797465735F7065725F736563746F720AC0080000+ ?debug C 00 ?debug C E2000864665F617661696C0A000864665F746F74+ ?debug C 616C0A000764665F627365630A000864665F7363+ ?debug C 6C75730AC008000000 ?debug C E2000B64655F6578746572726F7204000864655F+ ?debug C 636C61737308000964655F616374696F6E080008+ ?debug C 64655F6C6F63757308C005000000 ?debug C E20007636F5F64617465040007636F5F63757272+ ?debug C 5E0008636F5F74687365705F0008636F5F646573+ ?debug C 6570600008636F5F6474736570610008636F5F74+ ?debug C 6D73657062000C636F5F637572727374796C6508+ ?debug C 0009636F5F646967697473080007636F5F74696D+ ?debug C 65080007636F5F63617365060008636F5F646173+ ?debug C 6570630007636F5F66696C6C64C022000000 ?debug C E20009786663625F666C6167080009786663625F+ ?debug C 72657376660009786663625F6174747208000878+ ?debug C 6663625F66636267C02C000000 ?debug C E200096663625F64726976650800086663625F6E+ ?debug C 616D656800076663625F65787469000A6663625F+ ?debug C 637572626C6B04000B6663625F72656373697A65+ ?debug C 04000B6663625F66696C73697A65060008666362+ ?debug C 5F646174650400086663625F726573766A000A66+ ?debug C 63625F63757272656308000A6663625F72616E64+ ?debug C 6F6D06C025000000 end