modeinfo.pas 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. program modeinfo;
  2. type viomodeinfo=record
  3. cb:word; { length of the entire data structure }
  4. fbType, { bit mask of mode being set }
  5. color: byte; { number of colors (power of 2) }
  6. col, { number of text columns }
  7. row, { number of text rows }
  8. hres, { horizontal resolution }
  9. vres: word; { vertical resolution }
  10. fmt_ID, { attribute format }
  11. attrib: byte; { number of attributes }
  12. buf_addr,
  13. buf_length,
  14. full_length,
  15. partial_length:longint;
  16. ext_data_addr:pointer;
  17. end;
  18. Pviomodeinfo=^viomodeinfo;
  19. function _VioGetMode (var Amodeinfo:viomodeinfo;viohandle:word):word;[C];
  20. function _VioSetMode (var Amodeinfo:viomodeinfo;viohandle:word):word;[C];
  21. var mode:viomodeinfo;
  22. begin
  23. mode.cb:=sizeof(mode);
  24. writeln('getmode= ',_viogetmode(mode,0));
  25. writeln('cb= ',mode.cb);
  26. writeln('fbtype= ',mode.fbtype);
  27. writeln('color= ',mode.color);
  28. writeln('col= ',mode.col);
  29. writeln('row= ',mode.row);
  30. writeln('hres= ',mode.hres);
  31. writeln('vres= ',mode.vres);
  32. writeln('fmt_ID= ',mode.fmt_ID);
  33. writeln('attrib= ',mode.attrib);
  34. writeln('buf_addr= ',mode.buf_addr);
  35. writeln('buf_length= ',mode.buf_length);
  36. writeln('full_length= ',mode.full_length);
  37. writeln('partial_length= ',mode.partial_length);
  38. end.