Questions tagged [dosbox]

x86 Emulator for old PC applications

DOSBox is an x86 emulator.

The purpose is to allow newer machines to run older programs that can not be run under modern operating systems such as Windows XP, 7, etc.

Information at: http://www.dosbox.com/wiki/Main_Page

515 questions
3
votes
1 answer

How to create a variable in a subroutine in DOSBox?

I'm creating a batch multilanguage installer in DOSBox. I would like to create a variable in a subroutine which changes the displayed language based on the choice of the user. This is an example of the menu: :installer @echo off echo SELECT…
Richard D.
  • 79
  • 5
3
votes
2 answers

Does Dosbox emulate a 32bit enviroment or a 16bit environment?

Wiki says it's an x86 emulator. So, if DosBox is indeed an emulator for 32 bit applications, inorder for it to support 16 bit apps it must have another emulator in it right? for it to run in 16 bit mode?(isn't that how regular Operating Systems(not…
Michel Thomas
  • 143
  • 1
  • 10
3
votes
1 answer

8086 masm, how to skip entering object filename, source listing, etc and to directly execute asm file in DOSBox using Notepad++

I am using DOSBox to run masm.exe. When every time I compile and link my source file and object file, it is very annoying to keep pressing "Enter" key just to skip entering object filename, source listing, cross-reference, etc. My friend once taught…
wei
  • 937
  • 2
  • 14
  • 34
3
votes
1 answer

Opening a file handle in DOSBox clears the file's data

In DOSBox 0.74, when I attempt to open a file handle on any file using function 3ch of int 21h the file's data is cleared, being permanently reduced to 0 bytes in size. The files i've tested have all been located in Windows 10's documents directory…
bad
  • 939
  • 6
  • 18
3
votes
1 answer

How to prompt user for string and display it again in Assembly Language Programming

I'm having trouble with my assembly language code. We were asked to prompt user for input string and we're supposed to display it again or echo it to the command line. We need to assume that it's only up to 20 characters (in the string) This is the…
Bts is life
  • 31
  • 1
  • 1
  • 3
3
votes
1 answer

How to print a char on a specific location in graphics mode using 8086 assembly?

I'm using 8086 assembly on DOSBox which is on Windows. I want to print a char in graphics mode, and I know it goes like this: mov ah, 0eh ;0eh = 14 mov al, 'x' xor bx, bx ;Page number zero mov bl, 0ch ;Color is red int…
Or. muha
  • 71
  • 1
  • 2
  • 6
3
votes
1 answer

How to use pages in assembly (TASM)?

I want to create a game like Guitar Hero in assembly (TASM) and I think I need to use pages to scroll the screen up. How do I print rectangles on the page above and scroll the page up?
Emil
  • 93
  • 2
  • 11
3
votes
1 answer

I am trying to print a message in graphic mode in assembly but the console d:\ is still there

This is the code I wrote it works perfectly except that I can't figure out how to remove the console thing( d:\ ). The code prints hello in the middle of the screen. IDEAL MODEL small STACK 100h DATASEG ; -------------------------- msg db…
Emil
  • 93
  • 2
  • 11
3
votes
1 answer

8086 Assembly: put variables area at beginning of code segment

I have a code segment which was located at sector 37 of boot.img file, and in my master boot record I loaded this code into memory 0x5678:0x1234, here is my asm code: [BITS 16] ;Set code generation to 16 bit mode ORG 0x1234 ;set…
paradox
  • 258
  • 4
  • 19
3
votes
1 answer

I'm trying to use the stored value in AX after the AAM instruction to divide it by 2, Why it doesn't work with 2 digits numbers output?

English is not my native language; please excuse typing errors, the code I will show here is a homework. I really need to understand what's going on. I'm using Intel 8086 syntax, in DosBox 0.74 and TASM assembler. The problem with the code is in the…
3
votes
1 answer

DOS debug.exe: Restricted areas of memory?

(this my first question, excuse me for any mistakes) I was messing around with debug.exe and tried to alter the BIOS date stored in address range FFFF:0005 to FFFF:000C. -d FFFF:5 L 8 FFFF:0000 30 31 2F-30 31 2F 39 32 …
JohnyQ
  • 31
  • 1
3
votes
1 answer

Achieving 160x100 Mode in x86 Assembly

I've known for a while that it is possible to achieve a pseudo 160 by 100 graphics mode on the IBM CGA by using the CRTC to change line height to two pixels. I've been trying to accomplish this for a few days now, coming to a dead end. The Intel®…
verbicide
  • 41
  • 3
3
votes
1 answer

Wrong data when reading pixels in mode 13 (386 Assembly - DOS)

For a school project, I'm writing a paint program in assembly for DOSBOX. In my program, the user uses the left mouse button to paint pixels in a certain color. I use direct writes in mode 13 for that. The user can change that color by…
Itamar
  • 137
  • 1
  • 8
3
votes
1 answer

How to write to a file in assembly running under DOSBox

I've made a procedure that writes to file, and made a label for writing into code, but the string i'm filling isn't being written to the file. Write procedure: proc WriteToFile mov ah,40h mov bx,[filehandle] mov cx,255 lea…
Warrior0201
  • 87
  • 10
3
votes
1 answer

Problems with outputting newline characters to a file

I am writing a DOS program to make a file and write into it. I have to write the data in two different lines. Here is my code: .model tiny .486 .data fname db 'file5.txt',0 handle dw ? msg db 'Prashant Pandey 2014A7PS100G' .code .startup mov…
Prashant Pandey
  • 139
  • 1
  • 1
  • 13
1 2
3
34 35