Advertisement
Guest User

Untitled

a guest
Jul 4th, 2017
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
QBasic 4.18 KB | None | 0 0
  1. #lang "fblite"
  2.  
  3. DIM SHARED AS INTEGER i,p,byteadr,e,z,ik,v,z2,x1,y1,iz,xl,yl,alen,PEN,paper,xed,yed,x,y
  4. 'dim shared as string a$,m1$,m2$,hx$
  5.  
  6. 'declare function hxvl(a$ as string) as integer
  7. 'declare function bytefromhexdump(a$ as string,byteadr as integer) as integer
  8.  
  9. DIM SHARED z$(255)
  10. FOR i=0 TO 255
  11.   z$(i)="55aa55aa55aa55aa"
  12.   NEXT
  13.  
  14. z$(32)="0000000000000000":z$(33)="0010101010001000":z$(34)="0024240000000000":z$(35)="00247e24247e2400"
  15. z$(36)="00083e283e0a3e08":z$(37)="0062640810264600":z$(38)="001028102a443a00":z$(39)="0008100000000000"
  16. z$(40)="0004080808080400":z$(41)="0020101010102000":z$(42)="000014083e081400":z$(43)="000008083e080800"
  17. z$(44)="0000000000080810":z$(45)="000000003e000000":z$(46)="0000000000181800":z$(47)="0000020408102000"
  18. z$(48)="001e232529311e00":z$(49)="000c140404041f00":z$(50)="001e21011e203f00":z$(51)="001e210601211e00"
  19. z$(52)="00040c14243f0400":z$(53)="003f203e01211e00":z$(54)="001e203e21211e00":z$(55)="003f010204080800"
  20. z$(56)="001e211e21211e00":z$(57)="001e21211f011e00":z$(58)="0000000800000800":z$(59)="0000080000080810"
  21. z$(60)="0000020408040200":z$(61)="0000001f001f0000":z$(62)="0000080402040800":z$(63)="001e210204000400"
  22. z$(64)="003c4a565e403c00":z$(65)="003c42427e424200":z$(66)="007c427c42427c00":z$(67)="003c424040423c00"
  23. z$(68)="0078444242447800":z$(69)="007e407c40407e00":z$(70)="007e407c40404000":z$(71)="003c42404e423c00"
  24. z$(72)="0042427e42424200":z$(73)="003e080808083e00":z$(74)="0002020242423c00":z$(75)="0044487048444200"
  25. z$(76)="0040404040407e00":z$(77)="0042665a42424200":z$(78)="004262524a464200":z$(79)="003c424242423c00"
  26. z$(80)="007c42427c404000":z$(81)="003c4242524a3c00":z$(82)="007c42427c444200":z$(83)="003c403c02423c00"
  27. z$(84)="00fe101010101000":z$(85)="0042424242423c00":z$(86)="0042424242241800":z$(87)="00424242425a2400"
  28. z$(88)="0042241818244200":z$(89)="0082442810101000":z$(90)="007e040810207e00":z$(91)="000e080808080e00"
  29. z$(92)="0000402010080400":z$(93)="0070101010107000":z$(94)="0010385410101000":z$(95)="00000000000000ff"
  30. z$(96)="001c227820207e00":z$(97)="000038043c443c00":z$(98)="0020203c22223c00":z$(99)="00001c2020201c00"
  31. z$(100)="0004043c44443c00":z$(101)="0000384478403c00":z$(102)="000c101810101000":z$(103)="00003c44443c0438"
  32. z$(104)="0040407844444400":z$(105)="0010003010103800":z$(106)="0004000404042418":z$(107)="0020283030282400"
  33. z$(108)="0010101010100c00":z$(109)="0000685454545400":z$(110)="0000784444444400":z$(111)="0000384444443800"
  34. z$(112)="0000784444784040":z$(113)="00003c44443c0406":z$(114)="00001c2020202000":z$(115)="0000384038047800"
  35. z$(116)="0010381010100c00":z$(117)="0000444444443800":z$(118)="0000444428281000":z$(119)="0000445454542800"
  36. z$(120)="0000442810284400":z$(121)="00004444443c0438":z$(122)="00007c0810207c00":z$(123)="000e083008080e00"
  37. z$(124)="0008080808080800":z$(125)="0070100c10107000":z$(126)="0014280000000000":z$(127)="3c4299a1a199423c"
  38.  
  39. FUNCTION hxvl(a$)
  40.   e=ASC(UCASE$(a$))
  41.   RETURN ABS(((e>=48 AND e<=57)*(e-48))+((e>=65 AND e<=70)*(e-55)))
  42.   END FUNCTION
  43.  
  44. FUNCTION bytefromhexdump(a$,byteadr) AS INTEGER
  45.   i=(byteadr*2)+1
  46.   m1$=MID$(a$,i,1)
  47.   m2$=MID$(a$,i+1,1)
  48.   RETURN (hxvl(m1$)*16)+hxvl(m2$)
  49.   END FUNCTION
  50.  
  51. SUB hexdumpplot(x,y,a$,i,p)
  52.   FOR e=0 TO (LEN(a$)/2)-1
  53.     v=bytefromhexdump(a$,e)
  54.     FOR z=0 TO 7
  55.       ik=p
  56.       z2=7-z  
  57.       IF (((INT(v/(2^z2)))MOD 2) AND (2^z2)) THEN
  58.         ik=i
  59.         END IF
  60.       PSET(x+z,y+e),ik
  61.       NEXT
  62.       NEXT
  63.   END SUB
  64.  
  65. SUB printsbl(xt,yt,a$)
  66.   xl=xt
  67.   yl=yt
  68.   alen=LEN(a$)
  69.   FOR iz=1 TO alen
  70.     hx$=z$(ASC(MID$(a$,iz,1)))
  71.     hexdumpplot(xl*8,yl*8,hx$,PEN,paper)
  72.     xl=xl+1
  73.     IF xl>(INT(xed/8)-1) THEN
  74.       xl=0
  75.       yl=yl+1
  76.       END IF
  77.     NEXT
  78.   END SUB
  79.  
  80. xed=320
  81. yed=320
  82. screenres xed,yed,32
  83. color 0,&h9f7f7f:CLS
  84.  
  85. PEN=&hffffff:paper=&haa4400
  86.  
  87. paper=&hfedcba:PEN=&h123456
  88. printsbl(4,1,"lorem ipsum dolor sit amet")
  89.  
  90. paper=&habcdef:PEN=&h654321
  91. printsbl(8,12,"lorem ipsum dolor sit amet")
  92.  
  93. paper=&hdefabc:PEN=&h321654
  94. printsbl(10,17,"lorem ipsum dolor sit amet")
  95.  
  96. paper=&hcafdbe:PEN=&h465132
  97. printsbl(2,21,"lorem ipsum dolor sit amet")
  98.  
  99. paper=&hcdefab:PEN=&h316524
  100. printsbl(5,23,"lorem ipsum dolor sit amet")
  101.  
  102. paper=&heeddcc:PEN=&h442143
  103. printsbl(5,27,"lorem ipsum dolor sit amet")
  104.  
  105. SLEEP
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement