GEN.EXE

Aus FreedsaWiki

Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Allgemeines

  • Arbeitet im Grafikmodus 0x13 (320x200x8bit)
  • Setzt beim Beenden auf Grafikmodus=0x3 (80x25)/Page=0

Argumente

GEN.EXE (V1.05) kann mit Argumenten aufgerufen werden, was SCHICKM.EXE (V3.02) auch tut.

Argument Nummer Funktion Werte
1 ??? b
2 Schwierigkeitsgrad n=Anfänger(Novice)/a=Fortgeschrittener(Advanced)
3 CD-Unterstützung 0=nein/1=ja

Wichtige Offsets

Segment 0x0000 C-Library

0x0000  _Startup
0x017d  _Save_IntHandlers
0x01ed  ???
0x0229  ???
0x0231  ???
0x02dc  _dos_close()
0x02f2  _dos_open()
0x0328  ???
0x03a4  ???
0x03df  ???
0x0412  ???
0x0425  ???get_system_time()
0x0438  farptr *dos_getintvec(unsigned char nr)
0x0447  ??? dos_setintvec(unsigned char nr, farptr *isr)
0x045b  ???
0x072d  seek()???
0x078e  rand()???
0x07c5  read()???
0x0945  ???
0x0f68  ???
0x16c7  ???
0x1801  ???
0x1813  ???
0x20bc  close()
0x20e4  _close()
0x224a  ???
0x254e  memcpy()
0x2596  memset()
0x2607  memmove()
0x2655  open()
0x27c4  _open()
0x2d53  ???
0x2d9b  strcat()
0x2dd5  strcpy()
0x2dfe  strlen()
0x2e1d  strncmp()
0x2e55  strncpy()

Segment 0x0364 CD-ROM-Lib

0x0300  ???
0x033b  ???(void)
0x0465  ???
0x0600  ???

Segment 0x03C6 MAIN

0x000b  ???
0x0034  ???Liest SOUND.CFG und schaut ob die CD da ist
0x0083  ???
0x00ac  ???
0x068c  Int0x78-ISR
0x0829  ???
0x09d1  ???
0x09db  ???
0x0a0d  ???                           
0x0ae4  ???
0x0f7c  ???
0x14f6  ??? Läd HEADS.DAT/POPUP.DAT/SEX.DAT/DMENGE.DAT
0x15df  NVF-Loader ???
0x1af4  OpenAndSeekDatFile(Archivindex) ???
0x1bb2  ???
0x1c34  ReadFromDatFile() ???
0x1c7b  unsigned short blah() { return 0;}
0x1cc8  Wait() ???
0x1ce9  ???
0x1d8f  ???InitGraph(???)
0x1dbe  ???
0x1ecc  DrawPicture() ??? ATTIC/FANPRO/GENTIT.DAT
0x1fe0  ClearScreen()???
0x2024  ???(void)
0x2ca1  AskLevel(???)
0x3217  _do_Gen(void)
0x35d0  ???
0x40d9  ???
0x6c20  ???
0x6cf6  void PlayIntro(void)
0x72b3  Int0x1c-Timer-ISR
0x72e7  ???
0x730b  ???
0x7322  _main(int argc, char **argv, char **env)
0x7446  ???Läd FONT6 und GENTEXT
0x7635  ???Setzt die Palettenfarben für 0x00, 0xff, 0xd8-0xdf, 0xc8-0xca, 0x40-0x5f, 0x20-0x3f
0x7664  ???

Segment 0x0B2D

3 Subroutinen die per far-call aufgerufen werden.

0x000b ???
0x0029 ???
0x007d ???

Segment 0x0B39 PowerPack-Decompressor

Entpackt Crunchmode 2 und 3 Dateien

1 Souboutine die per far-call aufgerufen wird.

0x000c  _decomp(farptr *destination, farptr *source, long compsize)

Segment 0x0B6B Rasterlib

Bibliothek für Rastergrafik die in allen Exe-Dateien (ausser dem Intro) genutzt wird.
In GEN.EXE werden diese 13 Subroutinen per far-call aufgerufen.

0x0008  SetVideoMode
0x001e  SetDisplayPage
0x0034  SaveDisplayStat
0x00de  SetColor
0x0100  SetPalette
0x0127  void ???
0x0184  DrawDots
0x01f3  DrawPic
0x02b4  void ???
0x02e3  FillRect
0x038c  SwapU16 
0x039f  void ???
0x0445  ???

Segment 0x0BB2

0x06d7  ???
0x0711  ??? nur iret ???
0x071b  ???
0x0a24  ???(0x4 byte)
0x0adc  ???
0x0b02  ???(0xa byte)
0x0b08  ???(0xa byte)
0x0c47  ???
0x0c4d  ???
0x0c53  ???(0x4 byte)
0x0c59  ???
0x0c5f  ???
0x0c65  ???(0x4 byte)
0x0c6b  ???(0xa byte)
0x0c83  ???(0x4 byte)
0x0c89  ???(0x4 byte)
0x0c95  ???(0x4 byte)

Segment 0x0CC7 Datensegment

0x113b struct rgb[0x20]        (Leere Farbtabelle/alles schwarz)
0x119b struct rgb[0x20]        (Farbtabelle für Farben 0x40-0x5f)
0x1cb9 struct rgb[0x10]        (Farbtabelle für ATTIC-Animation)
0x1d49 struct rgb[0x1]         (Farbe für 0xff/ weiss)
0x1d4c struct rgb[0x1]         (Farbe für 0x00/ schwarz)
0x1d4f struct rgb[0x8]         (Farbtabelle für Farben 0xd8-0xdf)
0x1d67 struct rgb[0x3]         (Farbtabelle für Farben 0xc8-0xca)
0x1d70 struct rgb[0x20]        (Farbtabelle für Farben 0x20-0x3f)


0x1fb0  Handle dsagen.dat
0x247c  Offset der alten Timer-ISR
0x247e  Segment der alten Timer-ISR

0x3f30  PositionToSeek
0x3f5e  integer argv[2][1]
0x3f60  word NoIntro
0x40bf  word Level (1=Anfänger/2=Fortgeschrittener)
0x40c1  ptr16:16
0x40c5  word PictureWidth 
0x40c7  word PictureHeight
0x40c9  word
0x40cb  word
0x40cd  word
0x40cf  word
0x40d1  word
0x40d3  word
0x40d5  word
0x40d7  word
0x459f  word
0x4773  ptr16:16 Zeiger zum Dateiinhalt
0x47cb  ptr16:16
0x47d9  word 
0x47db  word OldScreenPage
0x47dd  word OldScreenMode
0x47df  word OldScreenColumns
0x47e1  word OldScreenRows
Persönliche Werkzeuge