VOGONS


First post, by bibi.happy

User metadata
Rank Newbie
Rank
Newbie

Hi,
I search a developper that can implement INT21,2B (set date) in DOSBOX 0.62 or 0.61

Can you help me ??
Thx

Bibi
(anthony_openlog@hotmail.com)

😵

Reply 1 of 17, by bibi.happy

User metadata
Rank Newbie
Rank
Newbie

Or DOSBOX 0.63 😉

Thx
bibi

Reply 3 of 17, by bibi.happy

User metadata
Rank Newbie
Rank
Newbie

I have an old 16 bits DOS program (cobol).
With prescott processors, it's very run slowly (many hours to calculate data).
With dosbox, it's run quickly (>40 secondes for the same operation) but this program do use the interrupt 21,2B for many operations.

Bibi.happy

Reply 4 of 17, by mirekluza

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

... and what is the problem in the program when date is not set?

Mirek

Reply 5 of 17, by bibi.happy

User metadata
Rank Newbie
Rank
Newbie

The data calculated are WRONG ! 😵

Reply 6 of 17, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

odd. i would have suspected that set time would be more critical then.

But maybe the data deals with dates and such.

It's not very complicated to add.
So who knows.

Water flows down the stream
How to ask questions the smart way!

Reply 7 of 17, by bibi.happy

User metadata
Rank Newbie
Rank
Newbie

Yes, but I don't know how to add it
can you help me ???
Pleeeeeaaaaaaaase 😉

Reply 8 of 17, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Maybe i understood the problem wrong, but afaict int21/2b
is implemented (correctly).

Could it be it uses int1a/04, which is not implemented?

wd

Reply 9 of 17, by bibi.happy

User metadata
Rank Newbie
Rank
Newbie

Hi,
Int1A,4 : Real Time Clock.. Why not ...
I'm not a developper , i cannot verify if this interrupt is implemented or not ?
With Dosbox, if i launch a DATE.EXE program for set date, dosbox 06.x responding "No Permission to set DATE".
I have the adminsitrator rights in my PC.
Bibi

😵 😢 😵 😢 😢 😢

Reply 10 of 17, by Snover

User metadata
Rank l33t++
Rank
l33t++

Qbix: Does DOSBox contain its own virtualized "world clock"? Some programs may want to adjust the clock, and it would be a shame if it did it for the system clock.

Yes, it’s my fault.

Reply 11 of 17, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

dosbox doesn't touch the system time. it only uses to set the date and time on startup (more or less)

Water flows down the stream
How to ask questions the smart way!

Reply 12 of 17, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

> Int1A,4 : Real Time Clock.. Why not ...

So how come you are so sure it has to do with the date?
Imagining your program reads the date (correctly returned by
dosbox) and performs some bin2dec or other conversion that
goes wrong because of a cpu/fpu bug, results would be the
same as a bug in the date function.
It would really help to examine the program, if this is not possible
for some reason, maybe you could provide a more complete
report about what happens exactly, and what should happen.

wd

Reply 13 of 17, by Snover

User metadata
Rank l33t++
Rank
l33t++

It could also be a Y2K bug 😉

Yes, it’s my fault.

Reply 14 of 17, by bibi.happy

User metadata
Rank Newbie
Rank
Newbie

Do you know if in a new release of dosbox (0.64), the Int21,2b or/and Int1A,4 will be implemented ?

Thx

Bibi.happy 😵 😵 😵 😵 😵 😵 😵

Reply 15 of 17, by Zup

User metadata
Rank Oldbie
Rank
Oldbie

Is the CMOS clock emulated? I mean... can a program read/write ports 70 & 71h and read the CMOS status?

Reply 16 of 17, by bibi.happy

User metadata
Rank Newbie
Rank
Newbie

Hi,
I have the ASM source code of my program for the set date .....
Is it compatible ??

name $_date

dos_set_date equ 2Bh
dos_get_date equ 2Ah
msdos equ 21h
no_error equ 0
invalid_date equ 1
masque_ascii equ 0F0Fh
base_10 equ 10
annee_debut equ 1900
modulo_week equ 7
premier_janvier equ 0101h
an_2000 equ 2000d
masque_bissextile equ 3
mars equ 3

param equ [bp]
w_erreur equ word ptr [bx]
w_date equ word ptr [si]
w_week equ word ptr [bx]
w_day equ word ptr [bx]

pile_s_date struc
s_date_Save_bp dw ?
s_date_ret_adr dd ?
adr_of_date dd ?
adr_of_err dd ?
pile_s_date ends

_user segment byte public 'CODE'
assume cs:_user
public s_date

s_date proc far

push bp
mov bp, sp

lds bx, param.adr_of_err
mov ax, no_error
mov w_erreur, ax
lds si, param.adr_of_date

call conv ; Conversion jour
mov dl, al
call conv ; Conversion mois
mov dh, al
call conv ; Conversion année
mov cx, ax
cmp cx, 50h
jb s_date_an2000
add cx, annee_debut
jmp s_date_suite
s_date_an2000:
add cx, an_2000
s_date_suite:
mov ah, dos_set_date
int msdos
cmp al, no_error
je set_date_exit

lds bx, param.adr_of_err
mov ax, invalid_date
mov w_erreur, ax
set_date_exit:
pop bp

ret

s_date endp
_user ends

thx

Bibi
😢

Reply 17 of 17, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Depending on conv this should not raise problems.
Int21/2a/2b are implemented.

wd