Эмуляция SDBIOS vinxru в Специалисте.

Эмулятор Радио-86РК и других советских компьютеров на КР580ВМ80А http://www.emu80.org

Moderator: Pyk

User avatar
pyzhman
Fanat
Posts: 51
Joined: 28 Oct 2025 23:21

Эмуляция SDBIOS vinxru в Специалисте.

Post by pyzhman »

Доброго!
В эмуляторе файл map.bin после отработки раздувается в восемь раз. В железе как был 8192, так и остался. Что делает программа:
1. открываем map.bin, находящийся на SD.
2. читаем открытый файл в ОЗУ.
3. закрываем файл.
4. открываем mapBuf.bin, находящийся на SD. После этого файл map.bin увеличивается в 8 раз.
5. записываем открытый файл на карту SD.
6. закрываем файл.

[spoiler]

Code: Select all

 
map	equ	4000h

 .org 0
	di
;сохраняем адрес вызова функций BIOS, передаваемой в ВС
        mov     h,b
        mov     l,c
        shld    bios+1

;открываем файл map
	mvi     a,2
	mvi     d,0
	lxi     h,mapFile
	call    bios
;читаем карту в ОЗУ
	mvi     a,4
	lxi     h,2000h	;размер
	lxi     d,map	;куда
	call    bios
;EOF	закрываем файл
	mvi     a,5
	lxi     h,0
	call    bios
;*****************************************
;открываем файл mapBuf
	mvi     a,2
	mvi     d,0
	lxi     h,mapBuf
	call    bios
;сохраняем карту в файл
	mvi     a,5
	lxi     h,2000h	;размер
	lxi     d,map	;откуда
	call    bios
;EOF закрываем файл
	mvi     a,5
	lxi     h,0
	call    bios


	jmp	$



;********************
;вызов функции BIOS
;********************
bios:
	call    bios
	ora	a
	rz	;операция прошла успешно

	jmp	$


mapFile:
        db      "test/map.bin",0
mapBuf:
        db      "test/mapBuf.bin",0
[/spoiler]
В чём беда? Как быть?
____________________
Если файл map.bin не закрывать, то всё хорошо, размер файла map.bin не изменяется.

Code: Select all

;открываем файл map
	mvi     a,2
	mvi     d,0
	lxi     h,mapFile
	call    bios
;читаем карту в ОЗУ
	mvi     a,4
	lxi     h,2000h	;размер
	lxi     d,map	;куда
	call    bios
;EOF	закрываем файл
;	mvi     a,5
;	lxi     h,0
;	call    bios
;*****************************************
;открываем файл mapBuf
	mvi     a,2
	mvi     d,0
	lxi     h,mapBuf
	call    bios
---------------------------------------------
Файл раздувается в момент открытия другого файла - mapBuf.bin.

Не по теме. Открываю страничку в смартфоне и вижу:
Screenshot.jpg
С какого-то перепугу вставляется
времени суток
, которое я терпеть ненавижу :)
You do not have the required permissions to view the files attached to this post.