Subversion Repositories Kolibri OS

Rev

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

Rev 651 Rev 1092
Line 5... Line 5...
5
  org     0x0
5
  org     0x0
6
  db      'MENUET01'    ; 8 byte id
6
  db      'MENUET01'    ; 8 byte id
7
  dd      0x01          ; version
7
  dd      0x01          ; version
8
  dd      START         ; program start
8
  dd      START         ; program start
9
  dd      I_END         ; image size
9
  dd      I_END         ; image size
10
  dd      0x80000       ; reguired amount of memory
10
  dd      mem           ; reguired amount of memory
11
  dd      0x80000       ; stack pointer
11
  dd      mem           ; stack pointer
12
  dd      I_Param,0
12
  dd      I_Param,0
Line 13... Line 13...
13
 
13
 
14
  include 'lang.inc'
14
  include 'lang.inc'
15
  include '..\..\..\macros.inc'
15
  include '..\..\..\macros.inc'
Line 112... Line 112...
112
    mov  ecx,256
112
    mov  ecx,256
113
    mov  edx,256
113
    mov  edx,256
114
    mcall
114
    mcall
Line 115... Line 115...
115
 
115
 
116
    mov  ebx,5
116
    mov  ebx,5
117
    mov  ecx,0x40000 ; <<< 0x40000 for blue, 0x40000+1 for red,
117
    mov  ecx,image + 0 ; <<< +0 for blue, +1 for red,
118
                       ; <<< 0x40000+2 for green background at boot
118
                       ; <<< +2 for green background at boot
119
    mov  edx,0
119
    mov  edx,0
120
    mov  esi,256*3*256
120
    mov  esi,256*3*256
Line 121... Line 121...
121
    mcall
121
    mcall
Line 129... Line 129...
129
 
129
 
130
    mov  eax,-1
130
    mov  eax,-1
Line 131... Line -...
131
    mcall
-
 
132
 
-
 
133
 
-
 
134
 
-
 
135
set_picture:
-
 
136
 
-
 
137
    mov  eax,image+99-3*16
-
 
138
    mov  ebx,0x40000+255*3+255*3*256
-
 
139
  newpix:
-
 
140
    mov  ecx,[eax]
-
 
141
    mov  [ebx],cx
-
 
142
    shr  ecx,16
-
 
143
    mov  [ebx+2],cl
-
 
144
    add  eax,3
-
 
145
    sub  ebx,3
-
 
146
    cmp  ebx,0x40002
-
 
147
    jge  newpix
-
 
148
 
-
 
149
    ret
-
 
150
 
-
 
151
 
-
 
152
load_texture:
-
 
153
 
-
 
154
    call  gentexture
-
 
155
    call  set_picture
-
 
156
 
-
 
157
    ret
131
    mcall
Line 158... Line 132...
158
 
132
 
Line 159... Line 133...
159
 
133
 
Line 231... Line 205...
231
; * component for every pixel is evaluated    *
205
; * component for every pixel is evaluated    *
232
; * according to the squared distance from    *
206
; * according to the squared distance from    *
233
; * the closest point in 'ptarray'.           *
207
; * the closest point in 'ptarray'.           *
234
; *********************************************
208
; *********************************************
Line -... Line 209...
-
 
209
 
235
 
210
load_texture:
Line 236... Line 211...
236
gentexture:
211
gentexture:
237
 
212
 
Line 276... Line 251...
276
 
251
 
277
   mov edi,24            ; 50 = max shaded distance
252
   mov edi,24            ; 50 = max shaded distance
Line 278... Line 253...
278
   idiv edi
253
   idiv edi
279
 
254
 
280
   pop edi
255
   pop edi
Line 281... Line 256...
281
   mov [image+51+edi],eax
256
   mov [image+edi],eax
282
   add edi,3
257
   add edi,3
283
 
258
 
Line 309... Line 284...
309
 
284
 
Line 310... Line 285...
310
 
285
 
311
draw_image:
286
draw_image:
312
 
287
 
313
    mov  eax,7
288
    mov  eax,7
314
    mov  ebx,0x40000
289
    mov  ebx,image
Line 315... Line 290...
315
    mov  ecx,256*65536+255
290
    mov  ecx,256*65536+255
Line 528... Line 503...
528
arrays dd ptarray,ptarray2,ptarray3,ptarray4,ptarray5,ptarray6
503
arrays dd ptarray,ptarray2,ptarray3,ptarray4,ptarray5,ptarray6
529
        dd ptarray7,ptarray8,ptarray9
504
        dd ptarray7,ptarray8,ptarray9
Line 530... Line 505...
530
 
505
 
Line 531... Line 506...
531
ptarray:
506
ptarray:
532
 
507
 
533
    dd  150,50
508
    dd  105,205
534
    dd  120,30
509
    dd  135,225
535
    dd  44,180
510
    dd  211,75
536
    dd  50,66
511
    dd  205,189
537
    dd  27,6
512
    dd  228,249
538
    dd  95,212
513
    dd  160,43
539
    dd  128,177
514
    dd  127,78
540
    dd  201,212
515
    dd  54,43
541
    dd  172,201
516
    dd  83,54
542
    dd  250,100
517
    dd  5,155
543
    dd  24,221
518
    dd  231,34
544
    dd  11,123
519
    dd  244,132
545
    dd  248,32
520
    dd  7,223
Line 546... Line 521...
546
    dd  34,21
521
    dd  221,224
Line 547... Line 522...
547
    dd  777     ; <- end of array
522
    dd  777     ; <- end of array
548
 
523
 
549
ptarray2:
524
ptarray2:
Line 550... Line 525...
550
 
525
 
Line 551... Line 526...
551
    dd  0,0,50,50,100,100,150,150,200,200,250,250
526
    dd  255,255,205,205,155,155,105,105,55,55,5,5
552
    dd  50,150,150,50,200,100,100,200
527
    dd  205,105,105,205,55,155,155,55
553
    dd  777
528
    dd  777
Line 554... Line 529...
554
 
529
 
Line 555... Line 530...
555
ptarray3:
530
ptarray3:
556
 
531
 
557
    dd  55,150,150,55,200,105,105,200
532
    dd  200,105,105,200,55,150,150,55
Line 558... Line 533...
558
    dd  30,30,220,220
533
    dd  225,225,35,35
Line 559... Line 534...
559
    dd  777
534
    dd  777
560
 
535
 
561
ptarray4:
536
ptarray4:
Line 562... Line 537...
562
 
537
 
Line 563... Line 538...
563
    dd  196,0,196,64,196,128,196,196
538
    dd  59,255,59,191,59,127,59,59
564
    dd  64,32,64,96,64,150,64,228
539
    dd  191,223,191,159,191,105,191,27
565
    dd  777
540
    dd  777
Line 566... Line 541...
566
 
541
 
Line 567... Line 542...
567
ptarray5:
542
ptarray5:
Line 568... Line 543...
568
 
543
 
569
    dd  196,0,196,64,196,128,196,196
544
    dd  59,255,59,191,59,127,59,59
570
    dd  64,0,64,64,64,128,64,196
545
    dd  191,255,191,191,191,127,191,59
571
    dd  777
546
    dd  777
572
 
547
 
573
ptarray6:
548
ptarray6:
574
 
549
 
Line 575... Line 550...
575
    dd  49,49,128,50,210,50
550
    dd  206,206,127,205,45,205
Line 576... Line 551...
576
    dd  50,128,128,128,210,128
551
    dd  205,127,127,127,45,127
Line 577... Line 552...
577
    dd  50,210,128,210,210,210
552
    dd  205,45,127,45,45,45
578
 
553
 
579
    dd  777
554
    dd  777
580
 
555
 
581
ptarray7:
556
ptarray7:
582
 
557
 
583
    dd  0,0
558
    dd  255,255
584
    dd  196,196,64,64
559
    dd  59,59,191,191
585
    dd  128,0
560
    dd  127,255
586
    dd  0,128
561
    dd  255,127
Line 587... Line 562...
587
    dd  64,64,196,64
562
    dd  191,191,59,191
Line 588... Line 563...
588
    dd  196,196,64,196
563
    dd  59,59,191,59
Line 589... Line 564...
589
    dd  128,128
564
    dd  127,127
Line 590... Line 565...
590
 
565
 
591
    dd  777
566
    dd  777
Line 592... Line 567...
592
 
567
 
Line 593... Line 568...
593
ptarray8:
568
ptarray8:
-
 
569
 
Line -... Line 570...
-
 
570
    dd  255, 127
-
 
571
    dd  255, 127
-
 
572
    dd  127, 255