DosBox Megabuild 6 (DosBox med bl.a. printersupport)

Vejledning i tilrettelse og compilering under Linux/*ubuntu 32 og 64-bit

Meget kort er DosBox et program der emulerer Dos på en IBM kompatibel PC. Dens primære formål er at kunne afvikle gamle PC spil og derfor ikke født med bl.a. support for printere.
Læs mere på wikipedia http://en.wikipedia.org/wiki/DOSBox

Hvis du ikke har brug for printersupport, er det langt nemmere og bedre at finde DosBox i din distros pakkesystem.

Vejledningen er testet på en virtuel maskine med henholdsvis:
Xubuntu 12.04 32-bit
Xubuntu 12.04 "Voyager" 64-bit

1)
Hent DosBox Megabuild (find ”Megabuild 6: Source code (Linux line endings)”) her:
http://home.arcor.de/h-a-l-9000/index.html

2)
Udpak den hentede pakke et egnet sted. F.eks.:
/home/DIT BRUGERNAVN/dosbox-mb6

3)
Åben en terminal og installerer følgende pakker

sudo apt-get install build-essential
sudo apt-get install automake
sudo apt-get install libsdl-net1.2-dev libsdl-sound1.2-dev libfreetype6 libfreetype6-dev

4)
Nu skal følgende linje tilføjes i 4 filer i det udpakkede dosbox mappesystem:

#include <stddef.h>

I disse 3 filer har jeg indsat en linje og tekststrengen lige efter noget, der lignede det vi indsætter (#include ):
/home/DIT BRUGERNAVN/dosbox-mb6/src/cpu/cpu.cpp
/home/DIT BRUGERNAVN/dosbox-mb6/src/dos/dos.cpp
/home/DIT BRUGERNAVN/dosbox-mb6/src/ints/ems.cpp

I den sidste fil:
/home/DIT BRUGERNAVN/dosbox-mb6/include/dos_inc.h
indsætter du tekststrengen så det ud som følger (udsnit! vi er omkring linje 30):

...
#include "mem.h"
#endif

#include <stddef.h>

#ifdef _MSC_VER
#pragma pack (1)
#endif
...

4a)
SPRING DETTE PUNKT OVER hvis du compiler til et 32-bit system
SKAL KUN ÆNDRES ved 64-bit!!!!
Du skal finde filen:

/home/DIT BRUGERNAVN/dosbox-mb6/src/cpu/core_dynrec/decoder_basic.h

og kommentere et stykke ud lidt inde i filen (dvs. indsætte /* og */) så det kommer til at se ud som her:

if (handler->flags & PFLAG_NOCODE) {
   /*   if (PAGING_ForcePageInit(lin_addr)) {
         handler=get_tlb_readhandler(lin_addr);
         if (handler->flags & PFLAG_HASCODE) {
            cph=(CodePageHandlerDynRec *)handler;
            return false;
         }
      }*/
      if (handler->flags & PFLAG_NOCODE) {
         LOG_MSG("DYNREC:Can't run code in this page");
         cph=0;
         return false;
      }
   }

5)
Via terminalen går du ind i mappen med de udpakkede DosBox filer og mapper, og udfører følgende:

cd /home/DIT BRUGERNAVN/dosbox-mb6
chmod +x autogen.sh
sudo ./autogen.sh
./configure
make
sudo make install

6)
Hvis alt er gået godt, burde du nu kunne starte DosBox ved at skrive (da-daaa):

dosbox

7)
Hvordan du kommer videre er en hel anden historie, men her er et par eksempler, idet vi forudsætter at du har en mappe der hedder:
/home/DIT BRUGERNAVN/dosprogram
Åben DosBox konfigurationsfilen i en simpel teksteditor (Gedit, Kate, Leafpad e.lign.) (husk at trykke CTRL+H, den er skjult):
/home/DIT BRUGERNAVN/.dosbox/dosbox-SVN.conf
Da det er en dansk guide, formodes det også at programmer og udskrifter, afvikles og printer med æøå.

7a)
I sektionen [parallel] kan du aktivere at udskrifter til LPT1 fra et dos-program udskrives til en fil:

parallel1=file

Udskrift-tekst-filerne kan du finde i den skjulte DosBox mappe:
/home/DIT BRUGERNAVN/.dosbox/capture/dosprogramnavn_000.prt
De åbnes smukkest i f.eks. LibreOffice omdøbt til *.txt som "Tekst indkodet". Tegnsæt = Vesteuropa(DOS/OS2-865/Nordisk).

7b)
Hvis man som eksempel gerne ville starte DosBox op med danske æøå, lave et c-drev, og starte et dos-program op der hedder dospgr, bruger man sidste sektion i dosbox-SVN.conf-filen:

[autoexec]
# Lines in this section will be run at startup.
keyb dk
mount c /home/DIT BRUGERNAVN/dosprogram
c:
dospgr

7c)
En meget udførlig dokumentation vedr. brugen af parrallel-porten i MB6 finder du her:
ftp://195.234.213.14/Games/Arh/Zed/db/DOCS/SVN-spe...

Kilder:
http://home.arcor.de/h-a-l-9000/index.html
http://www.dosbox.com/wiki/BuildingDOSBox
http://www.tuxfiles.org/linuxhelp/softinstall.html
http://www.openismus.com/documents/linux/automake/...
http://vogons.zetafleet.com/viewtopic.php?p=279407...
http://vogons.zetafleet.com/viewtopic.php?t=25007&...
ftp://195.234.213.14/Games/Arh/Zed/db/DOCS/SVN-spe...
http://www.linuxin.dk/node/20257
http://dosbox.svn.sourceforge.net/viewvc/dosbox/do...

jenss
jenss's picture
Antal: 186
Tilmeldt:
03-08-2007
User is offline
Rettelser og forbedringer modtages gerne

Hej!
Jeg er et meget glad menneske der har fået min DosBox med printersupoort til at køre med hjælp fra hvad jeg formoder er nogle af de tunge herre herinde i denne tråd http://www.linuxin.dk/node/20257 :)
Jeg tænkte at der måske var et eller måske lidt heldigt to mennesker i vort sprog-område der har samme mærkelige tilknytningsforhold til nogle af sine gamle dos-programmer.
Hvis denne ene eller to mener at havde fundet en fejl, eller noget der kunne forbedres, må I meget gerne give lyd så retter jeg det - Eller sletter hele møget hvis de andre 99,9% mener at det er noget makværk. Jeg kan tag det - næsten...