home *** CD-ROM | disk | FTP | other *** search
/ CD-X 1 / cdx_01.iso / demodisc / cyberdan / utils / mempeek.asm < prev    next >
Encoding:
Assembly Source File  |  1995-03-20  |  6.4 KB  |  176 lines

  1. ;▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
  2. ;
  3. ; BIZTOSAN MINDENKI LÅTOTT MÅR AMIGÅT, AZON PEDIG A MEMPEEK, VAGY VALAMI
  4. ; HASONLò NEVÿ PROGRAMOT, AMIVEL A MEMòRIÅT LEHETETT VIZUÅLISAN KUKKOLNI.
  5. ; MEGCSINÅLTAM PC-RE IS - HABÅR NEM EGY NAGY VALAMI - NÉHA MÉG HASZNOS
  6. ; IS LEHET... ;-)    KELL HOZZÅ VGA+EGÉR. A NAGY KÜLÖNBSÉG AZ AMIGÅS
  7. ; VERZIòHOZ KÉPEST, HOGY ITT NEM AZ EGÉR TOLOGATÅSÅVAL LEHET MOZGATNI A
  8. ; POINTERT... ÉRDEMES MEGNÉZNI MI VAN AKKOR HA A 0A000H-S CîMRE ÉR...
  9. ;
  10. ; FORDîTÅSA: TASM MEMPEEK.ASM
  11. ;            TLINK MEMPEEK.OBJ /X /T
  12. ;
  13. ;▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
  14.  
  15.                 CODE    SEGMENT
  16.                 ASSUME  CS:CODE
  17.                 ORG     100H
  18.  
  19.                 .286
  20.  
  21. START:          CALL    DETECTIONS      ; MEGNÉZZÜK, VAN -E ELÉG HARDWARE
  22.                 MOV     AX,13H
  23.                 INT     10H             ; 320X200X256 (MERT EZ ELÉG GYORS)
  24.                 CALL    BARWRITER       ; KIîRJUK AZ INFO-SORT
  25.                 MOV     AX,0A000H
  26.                 MOV     ES,AX           ; A VIDEOMEM-BE îRUNK MAJD
  27.                 MOV     AX,0
  28.                 MOV     DS,AX           ; A 0000:0000-ÅS CîMEN KEZDÜNK
  29.                 XOR     SI,SI
  30.                 XOR     DI,DI
  31. MAINLOOP:       CALL    RASTERWAIT      ; A FOLYAMATOS SCROLLHOZ KELL A
  32.                 MOV     DS,AX           ; RASZTERFIGYELÉS
  33.                 MOV     SI,0
  34.                 MOV     CX,64000/2-320*16 ; CX*2 -NYI BYTE-OT MOZGATUNK
  35.                 MOV     DI,320*16       ; ES:DI-HEZ
  36.                 REP     MOVSW           ; ITT
  37.                 CALL    SEGMENTKIIRO
  38. MOUSEIN:        PUSH    AX
  39.                 MOV     BX,0
  40.                 MOV     AX,3
  41.                 INT     33H             ; AZ EGÉR FIGYELÉSE
  42.                 POP     AX
  43.                 CMP     BX,3
  44.                 JE      EXITUS          ; KÉT GOMB EGYSZERRE=KILÉPÉS
  45.                 CMP     BX,2
  46.                 JE      INCREMENT       ; NÖVELÉS
  47.                 CMP     BX,1
  48.                 JE      DECREMENT       ; CSÖKKENTÉS
  49.                 JMP     MAINLOOP        ; HA SEMMI, AKKOR ELºLRºL
  50. INCREMENT:      ADD     AX,80           ; 80*4 = 320 BYTE = 1 SOR PLUSZ
  51.                 JMP     MAINLOOP
  52. DECREMENT:      SUB     AX,80           ; 80*4 = 320 BYTE = 1 SOR MINUSZ
  53.                 JMP     MAINLOOP
  54. EXITUS:        MOV    AX,3
  55.                 INT     10H             ; VISSZA SZÖVEGES MòDBA
  56.                 MOV     AX,CS
  57.                 MOV     DS,AX
  58.                 LEA     DX,COPYRIGHT    ; EGY KIS ÜZENET KIîRÅSA
  59.         MOV    AH,9
  60.         INT    21H
  61.                 INT     20H
  62.  
  63. RASTERWAIT:     PUSH    AX              ; EZ A RUTIN MEGVÅRJA AMîG AZ
  64.                 PUSH    DX              ; ELEKTRONSUGÅR A KÉPERNYº TETEJÉRE
  65.                 MOV     DX,3DAH         ; ÉR
  66. RASTER1:        IN      AL,DX
  67.                 AND     AL,8
  68.                 JZ      RASTER1
  69.                 POP     DX
  70.                 POP     AX
  71.                 RET
  72.  
  73. SEGMENTKIIRO:   PUSHA                   ; EZ A RUTIN AZ AKTUÅLIS SZEGMENST
  74.                 PUSH    DS              ; KIîRJA A KÉPERNYºRE (HOGY TUDJUK
  75.                 PUSH    ES              ; HOL TARTUNK)
  76.                 MOV     AX,DS
  77.                 MOV     DX,0
  78.                 MOV     BX,1000H
  79.                 DIV     BX
  80.                 CALL    CHAROUT
  81.                 MOV     AX,DX
  82.                 MOV     DX,0
  83.                 MOV     BX,100H
  84.                 DIV     BX
  85.                 CALL    CHAROUT
  86.                 MOV     AX,DX
  87.                 MOV     DX,0
  88.                 MOV     BX,10H
  89.                 DIV     BX
  90.                 CALL    CHAROUT
  91.                 MOV     AX,DX
  92.                 CALL    CHAROUT
  93.                 CALL    CURSORBACK
  94.                 POP     ES
  95.                 POP     DS
  96.                 POPA
  97.                 RET
  98.  
  99. CHAROUT:        PUSH    DX              ; EZ EGY ÅLTALÅNOS RUTIN
  100.                 MOV     DL,AL           ; KIîR EGY BETÿT, VAGY SZÅMOT
  101.                 MOV     AH,2
  102.                 CMP     DL,9
  103.                 JA      EZBETU
  104.                 ADD     DL,30H
  105.                 INT     21H
  106.                 POP     DX
  107.                 RET
  108. EZBETU:         ADD     DL,37H
  109.                 INT     21H
  110.                 POP     DX
  111.                 RET
  112.  
  113. CURSORBACK:     MOV     BX,0
  114.                 MOV     DX,0
  115.                 MOV     AH,2
  116.                 INT     10H
  117.                 RET
  118.  
  119. BARWRITER:      MOV     DH,0              ; EZ A RUTIN KIîRJA AZ INFO-SORT
  120.                 MOV     DL,5              ; A MEGFELELº KÉPERNYºPOZîCIòBA
  121.                 MOV     BX,0
  122.                 MOV     AH,2
  123.                 INT     10H
  124.                 MOV     AX,CS
  125.                 MOV     DS,AX
  126.                 LEA     DX,UPPERINFOBAR
  127.                 MOV     AH,9
  128.                 INT     21H
  129.                 MOV     DL,0
  130.                 MOV     DH,24
  131.                 MOV     BX,0
  132.                 MOV     AH,2
  133.                 INT     10H
  134.                 LEA     DX,BOTTOMBAR
  135.                 MOV     AH,9
  136.                 INT     21H
  137.                 MOV     DL,0
  138.                 MOV     DH,0
  139.                 MOV     BX,0
  140.                 MOV     AH,2
  141.                 INT     10H
  142.                 RET
  143.  
  144. DETECTIONS:     MOV     AX,CS
  145.                 MOV     DS,AX
  146.                 MOV     AX,1A00H
  147.                 INT     10H               ; VAN -E VGA KÅRTYA?
  148.                 CMP     BL,8
  149.                 JE      VGA_IS_OK         ; VAN
  150.                 MOV     AH,9
  151.                 LEA     DX,SORRYTEXT2     ; HA NINCS, AKKOR INKÅBB HAGYJUK
  152.                 INT     21H
  153.                 MOV     AX,4C00H
  154.                 INT     21H
  155. VGA_IS_OK:      MOV     AX,0              ; VAN -E EGÉR
  156.                 INT     33H
  157.                 OR      AX,0
  158.                 JNZ     MOUSE_IS_OK       ; VAN
  159.                 MOV     AH,9
  160.                 LEA     DX,SORRYTEXT1
  161.                 INT     21H
  162.                 MOV     AX,4C00H          ; NINCS, KILÉPÉS
  163.                 INT     21H
  164. MOUSE_IS_OK:    RET
  165.  
  166.   COPYRIGHT     DB      'Copyright (c) - CyberDancer/Shock! - 1995$'
  167.   SORRYTEXT1    DB      'You need a mouse to run this utility !$'
  168.   SORRYTEXT2    DB      'You need a VGA to run this utility !$'
  169.   ACTUALSEGMENT DW      0
  170.   ACTUALOFFSET  DW      0
  171.   UPPERINFOBAR  DB      'Hex   Mempeek V 1.1  By CYBERDANCER$'
  172.   BOTTOMBAR     DB      'Left:Dec   Right:Inc          Both:Exit$'
  173.  
  174. CODE ENDS
  175. END START
  176.