Autor
| Request for source of start.com
|
SMDNearDark msx user Mensajes: 44 | Publicado: Enero 24 2005, 22:37   |
Is the source of start.com already public domain ?
I need it to see how it works, because it doesn't work on a ide interface including the ide CF interface.
The only game that starts is puyo while sd snatcher shouldn't be a problem because it alse uses sectorbased access.
I need help with this
|
|
karloch
 msx addict Mensajes: 422 | Publicado: Enero 24 2005, 23:44   |
START.COM works perfectly with my Sunrise ATA IDE (combi RS232 and simple version).
Anyway, you can try to disassemble it, it doesn't look like a big program...
|
|
SMDNearDark msx user Mensajes: 44 | Publicado: Enero 25 2005, 01:18   |
i got it so far that puyo starts, but when i hit the spacekey in the intro screen i get the insert diskette message
|
|
Grauw msx professional Mensajes: 1006 | Publicado: Enero 25 2005, 01:47   |
Didn't start.com have some kind of requirement that said the disk image files it uses can not be fragmented on the harddrive? I recall something like that...
|
|
SMDNearDark msx user Mensajes: 44 | Publicado: Enero 25 2005, 02:10   |
i don't think that's it because START.COM uses filehandles and dos2 will take care of the reading of the sectors so it doesn't matter if the images is fragmented.
START.COM only emulates sector reading and uses the filehandle bdos functions &H48 and &H49 for reading and writing sectors
START.COM calculates where the filepointer has to be
(disk offset +sector offset) * 512
disk1 = disk offset 0
disk2 = disk offset 1440
Then uses function &H4A to place the filepointer at the right place
After that it reads (nr of sectors to read * 512) bytes from the file to the address which the game has set with function &H1A (set disk transfer address)
The problem is that my program (adapted START.COM) does read the bootsector which starts good when it's called.
The game puyo goes to the intro screen. When i hit the spacekey i get the "insert disk in drive" message (at least i think so, it's japanese)
This is the code for the sector based reading/writing
;===============================================================================
; My changed BDOS routines
;
Emu.PHYD: ld (DTA),hl ; HL = disk transfer address
ld h,b ; Nr of sectors
ld c,$30
jr c,Emu.BDOS ; If C Set, we are writing to disk
ld c,$2F
Emu.BDOS: ld a,c ; Check if function is emulated
cp $2F
jr z,SectorIO
cp $30
jr z,SectorIO
cp $1A
jr nz,oldbdos
ld (DTA),de
jr oldbdos
; Our sector based emulated functions
SectorIO: push af
push hl
ld hl,(filePointer) ; Diskimage offset (default 0) + Start sector to read/write
add hl,de
add hl,hl ; Diskimage offset (in sectors) * 2
ld d,0 ; * 256
ld e,h
ld h,l
ld l,0 ; DE:HL = position in file (in bytes)
ld a,(fileHandle)
ld b,a
xor a ; Move pointer starting from beginning of file
ld c,fileSeek
call bdos2
pop hl ; H = nr of sectors to read/write
ld l,0
add hl,hl ; Nr of sectors * 512 = nr of bytes to read
ld de,(DTA) ; Destination
ld a,(fileHandle)
ld b,a
ld c,readFile
pop af
cp $2F ; Absolute Sector read ??
jr z,oldbdos
ld c,writeFile ; No then write to file
oldbdos: jp $0000 ; Original Bdos call will be set at init of the program
|
|
msd msx professional Mensajes: 625 | Publicado: Enero 25 2005, 10:13   |
run mapit or map for you run sd-snatcher!! START.COM only works with sector based disk images and because it uses normal dos2 functions it doesn't matter which interface you use.
|
|
W76NearDark msx addict Mensajes: 330 | Publicado: Enero 25 2005, 12:51   |
It's not only SD Snatcher what matters  |
|
snout online
 msx legend Mensajes: 4995 | Publicado: Enero 25 2005, 13:43   |
MSD: start.com performs a LOT better when you put the eventual files that are on a disk in the directory where you put the disk image you want to run with START.
|
|
msd msx professional Mensajes: 625 | Publicado: Enero 25 2005, 13:54   |
I think I did try that in the past, but with no results..Can you give some titles where this works
|
|
snout online
 msx legend Mensajes: 4995 | Publicado: Enero 25 2005, 13:57   |
Nop ^_^ It's been a long time since I ran games that way. Now I mostly use HDDEMU, which creates a separate .HED file which contains information on strange tracks/sectors, making it possible to run virtually anything. Its only downside: turboR required.
|
|
msd msx professional Mensajes: 625 | Publicado: Enero 25 2005, 16:53   |
Back on topic: SMD could there be other resons why it doesn't work. corrupted disk images? Resident programs e.d.
|
|
SMDNearDark msx user Mensajes: 44 | Publicado: Enero 25 2005, 17:20   |
The disk image is ok bcause it works excelent from my scsi hdd. The resident programs are the same because i use both controllers at the same time.
The disk image on the IDE is a copy of the disk image i use on the scsi drive, so i don't think that it's corrupted.
|
|
|
|
|