  just another very outdated aeiou 1997 production

  maxSYS
  19970723.2140.GRAZ.AT

  real mode assembler coding interface
  with general midi vesa and xms support

  written just for the fun by florian haller of
  austrian emerging illegal operations underground
  in 1997

  this is the manual

  you may find some usefull information in here
  i will try to write something of use for you
  lets start with the contents of the maxSYS packet

  just three directorys which are 'examples' (containing
  some very basic assembler programs) 'resource' (with
  all the sources) and 'tool' (you will find maxTRACK
  in there)

  explore the examples by yourself they are not
  that hard to understand

  resource countains the assembler sources of maxSYS (as
  i already stated above) and now i will write some
  additional information on how to use them (you must take
  a look into the sources too there are many more infos)

  first one is maxGRAPH

  maxGRAPH is a simple graphic (therefore the name) vesa
  interface following are the functions you may use

  VESA_init
  call it to set and initialize a vesa mode which you
  must set in cx use the preset variables
  VESA_640x400x256
  VESA_640x480x256
  VESA_800x600x256
  VESA_1024x768x256
  note that there must be 282 bytes free on the stack
  and that ds and es are modified

  VESA_exit
  it simply sets text mode 3

  COLOR_setpalette
  simple color set procedure note that cx must be the
  count * 3 so 768 for 256 colors

  VESA_pixel (macro)
  it sets a pixel at address edi you ll have to calculate
  the position by yourself if you are working with x and
  y coordinates also keep in mind that gs MUST be 0a000h as
  it is initialized by VESA_init

  thats all for maxGRAPH lets continue with maxMEM

  MEM_init
  ALWAYS call this procedure in the beginning of your
  program because it will resize the psp so your program
  occupies only the memory it needs remember to check
  if theres enough memory by cmping ax note that ds and
  es are modified

  MEM_exit
  you must (well you should) call it before terminating
  the program

  xlodsb (macro)
  same use as lodsb but it is direction flag independant
  which means that esi is not changed in any way keep
  in mind that this is a macro and your program could
  get fastly big gs MUST be FRAME_segment as it is
  initialized by MEM_init

  xstosb (macro)
  same as xlodsb just stores like stosb

  ok finished maxMEM now theres maxMUSIC

  MPU_reset
  call to reset the mpu-401 chip

  MUSIC_start
  starts replaying a music by installing a timer
  interrupt 1ch see the music example how to
  set up a timer by your own note that ds is
  modified

  MUSIC_stop
  simply call it to stop the music replay note that
  ds is modified

  now theres only maxUTIL left

  KEYB_checkkey
  nothing special about it doesnt clear the keyboard
  buffer

  KEYB_clearbuffer
  resets the keyboard buffer

  mmm thats all here is how to contact the author

  by mail florian haller jaritzweg 15 8045 graz austria

  or by e-mail florian.haller@kornt02.ortwein.big.ac.at
  (until june 1999)

  ok i quit now and i hope you have some use for
  maxSYS

  signed florian haller

  ps here is the license which you must have read
  before using maxSYS

  maxSYS is freeware no money can be charged for it
  it is copyrighted by florian haller which is not
  liable for any damages caused by maxSYS
  but it is allowed to publish this in a collection
  of sources or on a cd a book or anything else as long
  it is stated that it is copyrighted by florian haller
  you must contact the author if you are doing this
  thanks