Subversion Repositories Kolibri OS

Rev

Rev 2511 | Rev 2515 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2511 Rev 2513
Line 67... Line 67...
67
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
67
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 68... Line 68...
68
 
68
 
69
include 'macros.inc'
69
include 'macros.inc'
Line 70... Line 70...
70
include 'struct.inc'
70
include 'struct.inc'
Line 71... Line 71...
71
 
71
 
Line 72... Line 72...
72
$Revision: 2511 $
72
$Revision: 2513 $
Line 2509... Line 2509...
2509
nosb2:
2509
nosb2:
Line 2510... Line 2510...
2510
 
2510
 
2511
        cmp     ebx, 3                     ; DRAW BACKGROUND
2511
        cmp     ebx, 3                     ; DRAW BACKGROUND
2512
        jnz     nosb3
2512
        jnz     nosb3
2513
draw_background_temp:
-
 
2514
;    cmp   [bgrchanged],1 ;0
-
 
2515
;    je    nosb31
-
 
2516
;draw_background_temp:
-
 
2517
;    mov   [bgrchanged],1 ;0
2513
draw_background_temp:
2518
        mov     [background_defined], 1
-
 
2519
        mov     byte[BACKGROUND_CHANGED], 1
2514
        mov     [background_defined], 1
2520
        call    force_redraw_background
2515
        call    force_redraw_background
2521
   nosb31:
2516
   nosb31:
2522
        ret
2517
        ret
Line 2523... Line 2518...
2523
  nosb3:
2518
  nosb3:
2524
 
2519
 
2525
        cmp     ebx, 4                     ; TILED / STRETCHED
2520
        cmp     ebx, 4                     ; TILED / STRETCHED
2526
        jnz     nosb4
2521
        jnz     nosb4
2527
        cmp     ecx, [BgrDrawMode]
2522
        cmp     ecx, [BgrDrawMode]
2528
        je      nosb41
-
 
2529
        mov     [BgrDrawMode], ecx
2523
        je      nosb41
2530
;    mov   [bgrchanged],1
2524
        mov     [BgrDrawMode], ecx
2531
   nosb41:
2525
   nosb41:
Line 2532... Line 2526...
2532
        ret
2526
        ret
Line 3137... Line 3131...
3137
endg
3131
endg
Line 3138... Line 3132...
3138
 
3132
 
3139
uglobal
3133
uglobal
3140
background_defined    db    0    ; diamond, 11.04.2006
3134
background_defined    db    0    ; diamond, 11.04.2006
3141
endg
-
 
-
 
3135
endg
3142
 
3136
;-----------------------------------------------------------------------------
3143
align 4
-
 
3144
; check misc
-
 
3145
 
3137
align 4
3146
checkmisc:
-
 
3147
 
3138
checkmisc:
3148
        cmp     [ctrl_alt_del], 1
3139
        cmp     [ctrl_alt_del], 1
Line 3149... Line 3140...
3149
        jne     nocpustart
3140
        jne     nocpustart
3150
 
3141
 
Line 3151... Line 3142...
3151
        mov     ebp, cpustring
3142
        mov     ebp, cpustring
-
 
3143
        call    fs_execute_from_sysdir
3152
        call    fs_execute_from_sysdir
3144
 
3153
 
3145
        mov     [ctrl_alt_del], 0
3154
        mov     [ctrl_alt_del], 0
3146
;--------------------------------------
3155
 
3147
align 4
3156
nocpustart:
3148
nocpustart:
Line 3166... Line 3158...
3166
        shl     eax, 8
3158
        shl     eax, 8
3167
        push    eax
3159
        push    eax
Line 3168... Line 3160...
3168
 
3160
 
3169
        movzx   eax, word [MOUSE_X]
3161
        movzx   eax, word [MOUSE_X]
3170
        movzx   edx, word [MOUSE_Y]
-
 
-
 
3162
        movzx   edx, word [MOUSE_Y]
3171
 
3163
;--------------------------------------
3172
align 4
3164
align 4
3173
.set_mouse_event:
3165
.set_mouse_event:
3174
        add     edi, 256
3166
        add     edi, 256
3175
        add     ebx, 32
3167
        add     ebx, 32
3176
        test    [ebx+TASKDATA.event_mask], 0x80000000
3168
        test    [ebx+TASKDATA.event_mask], 0x80000000
Line 3177... Line 3169...
3177
        jz      .pos_filter
3169
        jz      .pos_filter
3178
 
3170
 
-
 
3171
        cmp     edi, [esp]                      ; skip if filtration active
3179
        cmp     edi, [esp]                      ; skip if filtration active
3172
        jne     .skip
3180
        jne     .skip
3173
;--------------------------------------
3181
 
3174
align 4
3182
.pos_filter:
3175
.pos_filter:
Line 3183... Line 3176...
3183
        test    [ebx+TASKDATA.event_mask], 0x40000000
3176
        test    [ebx+TASKDATA.event_mask], 0x40000000
Line 3194... Line 3187...
3194
        cmp     edx, esi
3187
        cmp     edx, esi
3195
        jb      .skip
3188
        jb      .skip
3196
        add     esi, [ebx-twdw+WDATA.box.height]
3189
        add     esi, [ebx-twdw+WDATA.box.height]
3197
        cmp     edx, esi
3190
        cmp     edx, esi
3198
        ja      .skip
3191
        ja      .skip
-
 
3192
;--------------------------------------
-
 
3193
align 4
3199
.set:
3194
.set:
3200
        or      [edi+SLOT_BASE+APPDATA.event_mask], 100000b
3195
        or      [edi+SLOT_BASE+APPDATA.event_mask], 100000b  ; set event 6
-
 
3196
;--------------------------------------
-
 
3197
align 4
3201
.skip:
3198
.skip:
3202
        loop    .set_mouse_event
3199
        loop    .set_mouse_event
Line 3203... Line 3200...
3203
 
3200
 
-
 
3201
        pop     eax
3204
        pop     eax
3202
;--------------------------------------
3205
 
3203
align 4
3206
mouse_not_active:
-
 
3207
        cmp     byte[BACKGROUND_CHANGED], 0
-
 
3208
        jz      no_set_bgr_event
-
 
3209
        xor     edi, edi
-
 
3210
        mov     ecx, [TASK_COUNT]
-
 
3211
set_bgr_event:
-
 
3212
        add     edi, 256
-
 
3213
        or      [edi+SLOT_BASE+APPDATA.event_mask], 16
-
 
3214
        loop    set_bgr_event
-
 
3215
        mov     byte[BACKGROUND_CHANGED], 0
-
 
3216
no_set_bgr_event:
3204
mouse_not_active:
3217
        cmp     byte[REDRAW_BACKGROUND], 0         ; background update ?
3205
        cmp     byte[REDRAW_BACKGROUND], 0         ; background update ?
3218
        jz      nobackgr
3206
        jz      nobackgr
3219
        cmp     [background_defined], 0
3207
        cmp     [background_defined], 0
3220
        jz      nobackgr
-
 
3221
;    mov   [draw_data+32 + RECT.left],dword 0
3208
        jz      nobackgr
3222
;    mov   [draw_data+32 + RECT.top],dword 0
3209
;--------------------------------------
3223
;    mov   eax,[Screen_Max_X]
-
 
3224
;    mov   ebx,[Screen_Max_Y]
-
 
3225
;    mov   [draw_data+32 + RECT.right],eax
-
 
3226
;    mov   [draw_data+32 + RECT.bottom],ebx
3210
align 4
3227
@@:
3211
@@:
-
 
3212
        call    drawbackground
-
 
3213
;--------- set event 5 start ----------
-
 
3214
        push    ecx edi
-
 
3215
        xor     edi, edi
-
 
3216
        mov     ecx, [TASK_COUNT]
-
 
3217
;--------------------------------------
-
 
3218
align 4
-
 
3219
set_bgr_event:
-
 
3220
        add     edi, 256
-
 
3221
        or      [edi+SLOT_BASE+APPDATA.event_mask], 10000b  ; set event 5
-
 
3222
        loop    set_bgr_event
-
 
3223
        pop     edi ecx
3228
        call    drawbackground
3224
;--------- set event 5 stop -----------
3229
        xor     eax, eax
3225
        xor     eax, eax
3230
        xchg    al, [REDRAW_BACKGROUND]
3226
        xchg    al, [REDRAW_BACKGROUND]
3231
        test    al, al                             ; got new update request?
3227
        test    al, al                             ; got new update request?
-
 
3228
        jnz     @b
3232
        jnz     @b
3229
 
3233
        mov     [draw_data+32 + RECT.left], eax
3230
        mov     [draw_data+32 + RECT.left], eax
3234
        mov     [draw_data+32 + RECT.top], eax
3231
        mov     [draw_data+32 + RECT.top], eax
3235
        mov     [draw_data+32 + RECT.right], eax
3232
        mov     [draw_data+32 + RECT.right], eax
3236
        mov     [draw_data+32 + RECT.bottom], eax
3233
        mov     [draw_data+32 + RECT.bottom], eax
-
 
3234
        mov     [MOUSE_BACKGROUND], byte 0
3237
        mov     [MOUSE_BACKGROUND], byte 0
3235
;--------------------------------------
3238
 
3236
align 4
3239
nobackgr:
-
 
3240
 
3237
nobackgr:
3241
    ; system shutdown request
-
 
3242
 
3238
; system shutdown request
3243
        cmp     [SYS_SHUTDOWN], byte 0
3239
        cmp     [SYS_SHUTDOWN], byte 0
Line 3244... Line 3240...
3244
        je      noshutdown
3240
        je      noshutdown
Line 3249... Line 3245...
3249
        jne     no_mark_system_shutdown
3245
        jne     no_mark_system_shutdown
Line 3250... Line 3246...
3250
 
3246
 
3251
        lea     ecx, [edx-1]
3247
        lea     ecx, [edx-1]
3252
        mov     edx, OS_BASE+0x3040
3248
        mov     edx, OS_BASE+0x3040
-
 
3249
        jecxz   @f
-
 
3250
;--------------------------------------
3253
        jecxz   @f
3251
align 4
3254
markz:
3252
markz:
3255
        mov     [edx+TASKDATA.state], byte 3
3253
        mov     [edx+TASKDATA.state], byte 3
3256
        add     edx, 0x20
3254
        add     edx, 0x20
-
 
3255
        loop    markz
-
 
3256
;--------------------------------------
3257
        loop    markz
3257
align 4
3258
@@:
-
 
3259
 
3258
@@:
3260
  no_mark_system_shutdown:
-
 
3261
 
3259
no_mark_system_shutdown:
3262
        dec     byte [SYS_SHUTDOWN]
3260
        dec     byte [SYS_SHUTDOWN]
-
 
3261
        je      system_shutdown
3263
        je      system_shutdown
3262
;--------------------------------------
3264
 
3263
align 4
3265
noshutdown:
-
 
3266
 
-
 
3267
 
3264
noshutdown:
3268
        mov     eax, [TASK_COUNT]           ; termination
3265
        mov     eax, [TASK_COUNT]           ; termination
3269
        mov     ebx, TASK_DATA+TASKDATA.state
3266
        mov     ebx, TASK_DATA+TASKDATA.state
-
 
3267
        mov     esi, 1
3270
        mov     esi, 1
3268
;--------------------------------------
3271
 
3269
align 4
3272
newct:
3270
newct:
3273
        mov     cl, [ebx]
3271
        mov     cl, [ebx]
3274
        cmp     cl, byte 3
3272
        cmp     cl, byte 3
-
 
3273
        jz      terminate
3275
        jz      terminate
3274
 
3276
        cmp     cl, byte 4
3275
        cmp     cl, byte 4
Line 3277... Line 3276...
3277
        jz      terminate
3276
        jz      terminate
3278
 
3277
 
3279
        add     ebx, 0x20
3278
        add     ebx, 0x20
3280
        inc     esi
3279
        inc     esi
3281
        dec     eax
3280
        dec     eax
3282
        jnz     newct
-
 
-
 
3281
        jnz     newct
3283
        ret
3282
        ret
3284
 
-
 
3285
; redraw screen
3283
;-----------------------------------------------------------------------------
3286
 
-
 
3287
redrawscreen:
3284
align 4
Line 3288... Line 3285...
3288
 
3285
redrawscreen:
3289
; eax , if process window_data base is eax, do not set flag/limits
3286
; eax , if process window_data base is eax, do not set flag/limits
Line 3290... Line 3287...
3290
 
3287
 
3291
        pushad
3288
        pushad
Line 3292... Line 3289...
3292
        push    eax
3289
        push    eax
3293
 
3290
 
-
 
3291
;;;         mov   ebx,2
-
 
3292
;;;         call  delay_hs
3294
;;;         mov   ebx,2
3293
 
3295
;;;         call  delay_hs
-
 
3296
 
3294
         ;mov   ecx,0               ; redraw flags for apps
3297
         ;mov   ecx,0               ; redraw flags for apps
3295
        xor     ecx, ecx
Line 3298... Line 3296...
3298
        xor     ecx, ecx
3296
;--------------------------------------
3299
       newdw2:
3297
align 4
Line 3340... Line 3338...
3340
        jb      ricino
3338
        jb      ricino
Line 3341... Line 3339...
3341
 
3339
 
3342
        mov     eax, [draw_limits.left]  ; eax = area x start     ecx = window x end
3340
        mov     eax, [draw_limits.left]  ; eax = area x start     ecx = window x end
3343
        cmp     ecx, eax
3341
        cmp     ecx, eax
-
 
3342
        jb      ricino
3344
        jb      ricino
3343
;--------------------------------------
3345
 
3344
align 4
3346
        bgli:
-
 
3347
 
3345
bgli:
3348
        cmp     dword[esp], 1
3346
        cmp     dword[esp], 1
3349
        jnz     .az
-
 
3350
;         cmp   byte[BACKGROUND_CHANGED], 0
-
 
-
 
3347
        jnz     .az
3351
;         jnz   newdw8
3348
 
3352
        cmp     byte[REDRAW_BACKGROUND], 0
3349
        cmp     byte[REDRAW_BACKGROUND], 0
-
 
3350
        jz      .az
3353
        jz      .az
3351
 
3354
        mov     dl, 0
3352
        mov     dl, 0
3355
        lea     eax, [edi+draw_data-window_data]
3353
        lea     eax, [edi+draw_data-window_data]
3356
        mov     ebx, [draw_limits.left]
3354
        mov     ebx, [draw_limits.left]
3357
        cmp     ebx, [eax+RECT.left]
3355
        cmp     ebx, [eax+RECT.left]
-
 
3356
        jae     @f
3358
        jae     @f
3357
 
3359
        mov     [eax+RECT.left], ebx
3358
        mov     [eax+RECT.left], ebx
-
 
3359
        mov     dl, 1
-
 
3360
;--------------------------------------
3360
        mov     dl, 1
3361
align 4
3361
        @@:
3362
@@:
3362
        mov     ebx, [draw_limits.top]
3363
        mov     ebx, [draw_limits.top]
3363
        cmp     ebx, [eax+RECT.top]
3364
        cmp     ebx, [eax+RECT.top]
-
 
3365
        jae     @f
3364
        jae     @f
3366
 
3365
        mov     [eax+RECT.top], ebx
3367
        mov     [eax+RECT.top], ebx
-
 
3368
        mov     dl, 1
-
 
3369
;--------------------------------------
3366
        mov     dl, 1
3370
align 4
3367
        @@:
3371
@@:
3368
        mov     ebx, [draw_limits.right]
3372
        mov     ebx, [draw_limits.right]
3369
        cmp     ebx, [eax+RECT.right]
3373
        cmp     ebx, [eax+RECT.right]
-
 
3374
        jbe     @f
3370
        jbe     @f
3375
 
3371
        mov     [eax+RECT.right], ebx
3376
        mov     [eax+RECT.right], ebx
-
 
3377
        mov     dl, 1
-
 
3378
;--------------------------------------
3372
        mov     dl, 1
3379
align 4
3373
        @@:
3380
@@:
3374
        mov     ebx, [draw_limits.bottom]
3381
        mov     ebx, [draw_limits.bottom]
3375
        cmp     ebx, [eax+RECT.bottom]
3382
        cmp     ebx, [eax+RECT.bottom]
-
 
3383
        jbe     @f
3376
        jbe     @f
3384
 
3377
        mov     [eax+RECT.bottom], ebx
3385
        mov     [eax+RECT.bottom], ebx
-
 
3386
        mov     dl, 1
-
 
3387
;--------------------------------------
3378
        mov     dl, 1
3388
align 4
3379
        @@:
3389
@@:
3380
        add     byte[REDRAW_BACKGROUND], dl
3390
        add     byte[REDRAW_BACKGROUND], dl
-
 
3391
        jmp     newdw8
-
 
3392
;--------------------------------------
3381
        jmp     newdw8
3393
align 4
3382
        .az:
-
 
3383
 
3394
.az:
3384
        mov     eax, edi
3395
        mov     eax, edi
Line 3385... Line 3396...
3385
        add     eax, draw_data-window_data
3396
        add     eax, draw_data-window_data
3386
 
3397
 
Line 3396... Line 3407...
3396
        sub     eax, draw_data-window_data
3407
        sub     eax, draw_data-window_data
Line 3397... Line 3408...
3397
 
3408
 
3398
        cmp     dword [esp], 1
3409
        cmp     dword [esp], 1
3399
        jne     nobgrd
3410
        jne     nobgrd
-
 
3411
        inc     byte[REDRAW_BACKGROUND]
3400
        inc     byte[REDRAW_BACKGROUND]
3412
;--------------------------------------
3401
 
3413
align 4
3402
       newdw8:
3414
newdw8:
Line 3403... Line 3415...
3403
       nobgrd:
3415
nobgrd:
-
 
3416
 
3404
 
3417
        mov     [eax + WDATA.fl_redraw], byte 1  ; mark as redraw
3405
        mov     [eax + WDATA.fl_redraw], byte 1  ; mark as redraw
3418
;--------------------------------------
3406
 
-
 
3407
       ricino:
3419
align 4
3408
 
-
 
3409
       not_this_task:
3420
ricino:
Line 3410... Line 3421...
3410
 
3421
not_this_task:
3411
        pop     ecx
3422
        pop     ecx
Line 3412... Line 3423...
3412
 
3423
 
3413
        cmp     ecx, [TASK_COUNT]
3424
        cmp     ecx, [TASK_COUNT]
3414
        jle     newdw2
-
 
3415
 
3425
        jle     newdw2
-
 
3426
 
3416
        pop     eax
3427
        pop     eax
3417
        popad
3428
        popad
3418
 
-
 
3419
        ret
3429
        ret
3420
 
3430
;-----------------------------------------------------------------------------
3421
calculatebackground:   ; background
3431
align 4
3422
 
3432
calculatebackground:   ; background
3423
        mov     edi, [_WinMapAddress]              ; set os to use all pixels
3433
        mov     edi, [_WinMapAddress]              ; set os to use all pixels
Line 3424... Line 3434...
3424
        mov     eax, 0x01010101
3434
        mov     eax, 0x01010101
3425
        mov     ecx, [_WinMapSize]
-
 
3426
        shr     ecx, 2
-
 
3427
        rep stosd
3435
        mov     ecx, [_WinMapSize]
3428
 
-
 
-
 
3436
        shr     ecx, 2
3429
        mov     byte[REDRAW_BACKGROUND], 0            ; do not draw background!
3437
        rep stosd
3430
        mov     byte[BACKGROUND_CHANGED], 0
3438
 
3431
 
3439
        mov     byte[REDRAW_BACKGROUND], 0            ; do not draw background!
3432
        ret
-
 
3433
 
-
 
-
 
3440
        ret
3434
uglobal
3441
;-----------------------------------------------------------------------------
3435
  imax    dd 0x0
3442
uglobal
3436
endg
-
 
3437
 
-
 
3438
 
3443
  imax    dd 0x0
3439
 
3444
endg
Line 3440... Line 3445...
3440
delay_ms:     ; delay in 1/1000 sec
3445
;-----------------------------------------------------------------------------
3441
 
3446
align 4
Line 3451... Line 3456...
3451
 
3456
 
3452
        in      al, 0x61
3457
        in      al, 0x61
3453
        and     al, 0x10
3458
        and     al, 0x10
3454
        mov     ah, al
3459
        mov     ah, al
-
 
3460
        cld
3455
        cld
3461
;--------------------------------------
3456
 
3462
align 4
3457
 cnt1:
3463
cnt1:
3458
        in      al, 0x61
3464
        in      al, 0x61
3459
        and     al, 0x10
3465
        and     al, 0x10
3460
        cmp     al, ah
3466
        cmp     al, ah
Line 3463... Line 3469...
3463
        mov     ah, al
3469
        mov     ah, al
3464
        loop    cnt1
3470
        loop    cnt1
Line 3465... Line 3471...
3465
 
3471
 
3466
        pop     ecx
3472
        pop     ecx
3467
        pop     eax
-
 
3468
 
3473
        pop     eax
3469
        ret
-
 
-
 
3474
        ret
3470
 
3475
;-----------------------------------------------------------------------------
3471
align 4
3476
align 4
3472
set_app_param:
3477
set_app_param:
3473
        mov     edi, [TASK_BASE]
3478
        mov     edi, [TASK_BASE]
3474
        mov     eax, ebx
3479
        mov     eax, ebx
3475
        btr     eax, 3                           ; move MOUSE_FILTRATION
3480
        btr     eax, 3                           ; move MOUSE_FILTRATION
3476
        mov     ebx, [current_slot]              ; bit into event_filter
3481
        mov     ebx, [current_slot]              ; bit into event_filter
3477
        setc    byte [ebx+APPDATA.event_filter]
3482
        setc    byte [ebx+APPDATA.event_filter]
3478
        xchg    eax, [edi + TASKDATA.event_mask] ; set new event mask
3483
        xchg    eax, [edi + TASKDATA.event_mask] ; set new event mask
3479
        mov     [esp+32], eax                    ; return old mask value
3484
        mov     [esp+32], eax                    ; return old mask value
3480
        ret
-
 
3481
 
-
 
-
 
3485
        ret
3482
 
3486
;-----------------------------------------------------------------------------
3483
 
3487
align 4
3484
delay_hs:     ; delay in 1/100 secs
3488
delay_hs:     ; delay in 1/100 secs
3485
; ebx = delay time
3489
; ebx = delay time
3486
        push    ecx
3490
        push    ecx
Line 3487... Line 3491...
3487
        push    edx
3491
        push    edx
-
 
3492
 
3488
 
3493
        mov     edx, [timer_ticks]
3489
        mov     edx, [timer_ticks]
3494
;--------------------------------------
3490
 
3495
align 4
3491
      newtic:
3496
newtic:
3492
        mov     ecx, [timer_ticks]
3497
        mov     ecx, [timer_ticks]
3493
        sub     ecx, edx
3498
        sub     ecx, edx
Line 3494... Line 3499...
3494
        cmp     ecx, ebx
3499
        cmp     ecx, ebx
Line 3495... Line 3500...
3495
        jae     zerodelay
3500
        jae     zerodelay
-
 
3501
 
3496
 
3502
        call    change_task
3497
        call    change_task
3503
 
3498
 
3504
        jmp     newtic
3499
        jmp     newtic
3505
;--------------------------------------
3500
 
-
 
3501
      zerodelay:
3506
align 4
3502
        pop     edx
-
 
-
 
3507
zerodelay:
3503
        pop     ecx
3508
        pop     edx
3504
 
3509
        pop     ecx
3505
        ret
-
 
3506
 
3510
        ret
3507
align 16        ;very often call this subrutine
3511
;-----------------------------------------------------------------------------
3508
memmove:       ; memory move in bytes
3512
align 16        ;very often call this subrutine
3509
 
3513
memmove:       ; memory move in bytes
3510
; eax = from
3514
; eax = from
Line 3525... Line 3529...
3525
        shr     ecx, 2
3529
        shr     ecx, 2
3526
        rep movsd
3530
        rep movsd
3527
        pop     ecx
3531
        pop     ecx
3528
        and     ecx, 11b
3532
        and     ecx, 11b
3529
        jz      .finish
3533
        jz      .finish
-
 
3534
;--------------------------------------
-
 
3535
align 4
3530
  @@:
3536
@@:
3531
        rep movsb
3537
        rep movsb
-
 
3538
;--------------------------------------
3532
 
3539
align 4
3533
  .finish:
3540
.finish:
3534
        pop     ecx edi esi
3541
        pop     ecx edi esi
-
 
3542
;--------------------------------------
-
 
3543
align 4
3535
  .ret:
3544
.ret:
3536
        ret
3545
        ret
3537
 
-
 
3538
 
-
 
-
 
3546
;-----------------------------------------------------------------------------
3539
;  Sysfunction 34, read_floppy_file, is obsolete. Use 58 or 70 function instead.
3547
;  Sysfunction 34, read_floppy_file, is obsolete. Use 58 or 70 function instead.
3540
;align 4
3548
;align 4
3541
;
3549
;
3542
;read_floppy_file:
3550
;read_floppy_file:
3543
;
3551
;