Author
| SymbOS MSX multitasking operating system - help needed!
| Sonic_aka_T
 msx guru Posts: 2345 | Posted: June 05 2006, 01:50   | Perhaps some of you nice folx would be kind enough to copy/paste this in your fave text editor, save it as o_O.BAS and giving it a try on hardware? It'd be nice to see if checking these few bytes would actually turn out to be a quick and easy way to detect the FDC used. It should -if all works well- display the FDC used by the first 4 disk ROMs along with a hex ID byte. Especially if you get an 'unknown', please let me know what machine you were using and what code the program returned. It'd also be interesting to know if this trick will work with SCSI/IDE devices; in theory it should. 10 FOR LP=&HC000 TO &HC175
20 READ V: POKE LP,V
30 NEXT LP
40 DEFUSR=&HC000: A=USR(0)
50 END
100 DATA &HAF,&HCD,&H5F,&H00,&H21,&HB3,&HC0,&HCD,&H93,&HC0,&H22,&HB1,&HC0,&H3A
110 DATA &H22,&HFB,&HCD,&H2D,&HC0,&H3A,&H24,&HFB,&HCD,&H2D,&HC0,&H3A,&H26,&HFB
120 DATA &HCD,&H2D,&HC0,&H3A,&H28,&HFB,&HCD,&H2D,&HC0,&H3A,&HC1,&HFC,&H26,&H40
130 DATA &HC3,&H24,&H00,&HCD,&H6C,&HC0,&HCD,&H7E,&HC0,&HF5,&H78,&HE6,&HF0,&H0F
140 DATA &H0F,&H0F,&H0F,&HFE,&H0A,&H38,&H02,&HC6,&H07,&HC6,&H30,&H32,&HAF,&HC0
150 DATA &H78,&HE6,&H0F,&HFE,&H0A,&H38,&H02,&HC6,&H07,&HC6,&H30,&H32,&HB0,&HC0
160 DATA &H2A,&HB1,&HC0,&HCD,&H93,&HC0,&H22,&HB1,&HC0,&HF1,&H87,&H87,&H87,&H87
170 DATA &H5F,&H16,&H00,&H21,&H26,&HC1,&H19,&HC3,&H93,&HC0,&HB7,&HC8,&H26,&H40
180 DATA &HCD,&H24,&H00,&H21,&H00,&H40,&HAF,&H06,&H20,&H86,&H23,&H10,&HFC,&HC9
190 DATA &H21,&H0B,&HC1,&H47,&H7E,&H23,&HFE,&HFF,&H28,&H08,&HB8,&H28,&H03,&H23
200 DATA &H18,&HF4,&H7E,&HC9,&H3E,&H04,&HC9,&H7E,&H23,&HB7,&HC8,&HFE,&H23,&H28
210 DATA &H05,&HCD,&HA2,&H00,&H18,&HF3,&H3A,&HAF,&HC0,&HCD,&HA2,&H00,&H3A,&HB0
220 DATA &HC0,&HCD,&HA2,&H00,&H23,&H18,&HE4,&H30,&H30,&HB3,&HC0,&H43,&H68,&H65
230 DATA &H63,&H6B,&H69,&H6E,&H67,&H20,&H44,&H69,&H73,&H6B,&H52,&H4F,&H4D,&H73
240 DATA &H20,&H66,&H6F,&H72,&H20,&H46,&H44,&H43,&H20,&H74,&H79,&H70,&H65,&H3A
250 DATA &H0D,&H0A,&H0D,&H0A,&H00,&H44,&H69,&H73,&H6B,&H52,&H4F,&H4D,&H20,&H30
260 DATA &H30,&H3A,&H20,&H00,&H44,&H69,&H73,&H6B,&H52,&H4F,&H4D,&H20,&H30,&H31
270 DATA &H3A,&H20,&H00,&H44,&H69,&H73,&H6B,&H52,&H4F,&H4D,&H20,&H30,&H32,&H3A
280 DATA &H20,&H00,&H44,&H69,&H73,&H6B,&H52,&H4F,&H4D,&H20,&H30,&H33,&H3A,&H20
290 DATA &H00,&H00,&H00,&H0F,&H01,&H26,&H01,&H9B,&H01,&HAB,&H01,&H43,&H02,&H96
300 DATA &H02,&HD0,&H02,&HF2,&H02,&H0A,&H03,&H2E,&H03,&HBD,&H03,&HD7,&H03,&HFF
310 DATA &H3C,&H20,&H6E,&H6F,&H6E,&H65,&H20,&H3E,&H20,&H28,&H30,&H30,&H29,&H0D
320 DATA &H0A,&H00,&H57,&H44,&H32,&H37,&H39,&H33,&H20,&H20,&H20,&H28,&H23,&H23
330 DATA &H29,&H0D,&H0A,&H00,&H54,&H43,&H38,&H35,&H36,&H36,&H41,&H46,&H20,&H28
340 DATA &H23,&H23,&H29,&H0D,&H0A,&H00,&H4D,&H42,&H38,&H38,&H37,&H37,&H41,&H20
350 DATA &H20,&H28,&H23,&H23,&H29,&H0D,&H0A,&H00,&H55,&H6E,&H6B,&H6E,&H6F,&H77
360 DATA &H6E,&H21,&H20,&H28,&H23,&H23,&H29,&H0D,&H0A,&H00 | | Patsie msx freak Posts: 199 | Posted: June 05 2006, 09:30   | Quote:
| Perhaps some of you nice folx would be kind enough to copy/paste this in your fave text editor, save it as o_O.BAS and giving it a try on hardware? It'd be nice to see if checking these few bytes would actually turn out to be a quick and easy way to detect the FDC used. It should -if all works well- display the FDC used by the first 4 disk ROMs along with a hex ID byte. Especially if you get an 'unknown', please let me know what machine you were using and what code the program returned. It'd also be interesting to know if this trick will work with SCSI/IDE devices; in theory it should.
|
On my NMS8250 it says: DiskROM 00: Unknown! (23)
DiskROM 01: WD2793 (AB)
DiskROM 02: < none > (00)
DiskROM 03: < none > (00) My TrST says: DiskROM 00: Unknown! (23)
DiskROM 01: Unknown! (C6)
DiskROM 02: < none > (00)
DiskROM 03: < none > (00) I can explain for the DiskROM 00's to be unknown, because this is probably the CF interface. The NMS8250 seems to be recognised correctly, but the TrST is not recognised! | | mars2000you msx master Posts: 1723 | Posted: June 05 2006, 10:02   | A liitle update of my long list (added the SVI-707 and a precision about the Sony HBD-F1)
WD1793 :
Spectravideo SVI-738 (MSX1 with a MSX2 VDP)
Spectravideo SVI-707 (extern diskdrive)
WD2793 :
Ciel Expert 3 (MSX2+)
Philips NMS-8245
Philips NMS-8280
Philips VG-8235
Philips VG-8240
Philips NMS-8250
Philips NMS-8255
Philips VY-0010 (extern diskdrive)
Sharp Epcom HB-3600 (extern diskdrive)
Sony HB-F1XD
Sony HB-F1XDMK2
Sony HB-F700
Sony HB-F900
Sony HB-G900
Sony HB-F1XDJ (MSX2+)
Sony HB-F1XV (MSX2+)
Sony HB-F500
Sony HBD-50 (extern diskdrive)
Sony HBD-F1 (extern diskdrive)
Sony HBK-30 (extern diskdrive)
MB8877A :
Daewoo CPC-400
Daewoo CPC-400S
National CF-3300 (MSX1)
Gradiente Expert DDPlus (MSX1)
National FS-4600
National FS-4700
National FS-5500
National FS-FD351 (extern diskdrive)
Yamaha YIS-805R3
Microsol :
Microsol Tecnologia CDX-2 used with Brazilian MSX1/2 (extern diskdrive - is included as intern diskdrive in the generic Brazilian MSX1/2 machines of blueMSX)
TC8566AF :
Panasonic FS-A1F
Panasonic FS-A1FM
Panasonic FS-A1FX (MSX2+)
Panasonic FS-A1WX (MSX2+)
Panasonic FS-A1GT (Turbo-R)
Panasonic FS-A1ST (Turbo-R)
Panasonic FS-A1WSX (MSX2+)
Panasonic FS-FD1 (extern diskdrive)
Panasonic FS-FD1A (extern diskdrive)
Sanyo Wavy PHC-70FD1 (MSX2+)
Sanyo Wavy PHC-70FD2 (MSX2+) | | AuroraMSX online
 msx master Posts: 1383 | Posted: June 05 2006, 11:37   | Quote:
| Perhaps some of you nice folx would be kind enough to copy/paste this in your fave text editor, save it as o_O.BAS
|
Nice unix folx should not forget to save as Messy-DOS text, otherwise you get a not so nice 'Overflow' when trying to load the program...
Quote:
| and giving it a try on hardware? It'd be nice to see if checking these few bytes would actually turn out to be a quick and easy way to detect the FDC used. It should -if all works well- display the FDC used by the first 4 disk ROMs along with a hex ID byte. Especially if you get an 'unknown', please let me know what machine you were using and what code the program returned. It'd also be interesting to know if this trick will work with SCSI/IDE devices; in theory it should.
|
NMS8280 plain:
DiskROM 00: WD2793 (AB)
DiskROM 01: < none > (00)
DiskROM 02: < none > (00)
DiskROM 03: < none > (00)
Same NMS8280 with IDE/CF connected:
DiskROM 00: Unknown! (23)
DiskROM 01: WD2793 (AB)
DiskROM 02: < none > (00)
DiskROM 03: < none > (00)
Same 8280 with a Sony HBD-50 external FDD:
DiskROM 00: Unknown! (D8)
DiskROM 01: WD2793 (AB)
DiskROM 02: < none > (00)
DiskROM 03: < none > (00)
HTH
| | Sonic_aka_T
 msx guru Posts: 2345 | Posted: June 05 2006, 13:17   | Quote:
| Quote:
| Perhaps some of you nice folx would be kind enough to copy/paste this in your fave text editor, save it as o_O.BAS and giving it a try on hardware? It'd be nice to see if checking these few bytes would actually turn out to be a quick and easy way to detect the FDC used. It should -if all works well- display the FDC used by the first 4 disk ROMs along with a hex ID byte. Especially if you get an 'unknown', please let me know what machine you were using and what code the program returned. It'd also be interesting to know if this trick will work with SCSI/IDE devices; in theory it should.
|
On my NMS8250 it says: DiskROM 00: Unknown! (23)
DiskROM 01: WD2793 (AB)
DiskROM 02: < none > (00)
DiskROM 03: < none > (00) My TrST says: DiskROM 00: Unknown! (23)
DiskROM 01: Unknown! (C6)
DiskROM 02: < none > (00)
DiskROM 03: < none > (00) I can explain for the DiskROM 00's to be unknown, because this is probably the CF interface. The NMS8250 seems to be recognised correctly, but the TrST is not recognised!
|
Thanks!  The $23 is the Sunrise IDE indeed. BlueMSX reported the same checksum, but I wasn't sure if I could depend on an emu enough to add it to the list. Regarding the $C6; I'm guessing this is because the diskROM under DOS1 seems to be different than the one under DOS2. It could also be a mapping issue in DOS2 causes the 'problem', but I'd think it should also work in DOS2. Could you please run the prog twice, once in DOS1 (boot without the Sunrise IDE and hold 1 during boot) and once in DOS2? I'd appreciate it. | | Sonic_aka_T
 msx guru Posts: 2345 | Posted: June 05 2006, 13:19   | Quote:
| Same 8280 with a Sony HBD-50 external FDD:
DiskROM 00: Unknown! (D8)
DiskROM 01: WD2793 (AB)
DiskROM 02: < none > (00)
DiskROM 03: < none > (00)
HTH
|
Thanks Auroor. I guess I can add the Sunrise IDE to the list then, the Sony drive too, I would think. Anyone know which controller this drive uses? A WD2793? | | Patsie msx freak Posts: 199 | Posted: June 05 2006, 14:06   | Quote:
| Thanks!  The $23 is the Sunrise IDE indeed. BlueMSX reported the same checksum, but I wasn't sure if I could depend on an emu enough to add it to the list. Regarding the $C6; I'm guessing this is because the diskROM under DOS1 seems to be different than the one under DOS2. It could also be a mapping issue in DOS2 causes the 'problem', but I'd think it should also work in DOS2. Could you please run the prog twice, once in DOS1 (boot without the Sunrise IDE and hold 1 during boot) and once in DOS2? I'd appreciate it.
|
I asume you mean Disk BASIC 1 or 2. running a .bas file in DOS1 or 2 has never worked for me  But you're right. Booting into Disk BASIC 1 I get code $F6, but under Disk BASIC 2 it's $C6. Also it feels like it's slower when run from Disk BASIC 1. But that could be just my imagination... | | Sonic_aka_T
 msx guru Posts: 2345 | Posted: June 05 2006, 14:34   | Quote:
| Quote:
| Thanks!  The $23 is the Sunrise IDE indeed. BlueMSX reported the same checksum, but I wasn't sure if I could depend on an emu enough to add it to the list. Regarding the $C6; I'm guessing this is because the diskROM under DOS1 seems to be different than the one under DOS2. It could also be a mapping issue in DOS2 causes the 'problem', but I'd think it should also work in DOS2. Could you please run the prog twice, once in DOS1 (boot without the Sunrise IDE and hold 1 during boot) and once in DOS2? I'd appreciate it.
|
I asume you mean Disk BASIC 1 or 2. running a .bas file in DOS1 or 2 has never worked for me  But you're right. Booting into Disk BASIC 1 I get code $F6, but under Disk BASIC 2 it's $C6. Also it feels like it's slower when run from Disk BASIC 1. But that could be just my imagination...
|
Well, I was referring to the Kernel indeed, not the actual DOS commandline. The reason it's so much slower in Disk Basic 1.0  is that the R800 isn't on. BASIC first needs to parse the ASCII file to tokenized BASIC, then it needs to do a bunch of POKES. Stuff like that the R800 seems to be pretty good at, probably because a lot of 16bit registers are used, knowing M$ prolly with a fair amount of IX/IY usage as well. Anyhow, thanks for the codes, I'll jot them down. Anyone with a Sony willing to give this thing a try as well? It'd also be interesting to see what it does with SCSI devices... | | Patsie msx freak Posts: 199 | Posted: June 05 2006, 15:32   | I do have a Bert SCSI interface (ROM v2.7) but can't get it to boot without attached SCSI device(s). It just 'hangs' at the 'wait...' prompt, probably searching for devices.
| | Algorythms msx freak Posts: 178 | Posted: June 05 2006, 17:54   | My SVI-738 rebuilt to MSX 2 w/256Kb ram:
DiskROM 00: Unknown! (23) (Sunrise CF)
DiskROM 01: Unknown! (C1)
DiskROM 02: < none > (00)
DiskROM 03: < none > (00)
Same diskrom value in both dos 1 and dos 2 mode.
On this MSX the cartridge port is #2, because it uses #1 internally (for rs232 afaik), so I cannot access the CF card from Symbos.
BTW, there can be many versions of the disk ROM on these machines, since different people made MSX 2 upgrades for it. Mine is from Henrik Gilvad, and it's got Norwegian/Danish keyboard.
| | Prodatron msx master Posts: 1125 | Posted: June 05 2006, 18:28   | At least the WD2793 routines are running now without errors. I will need to optimize them, as they are still not fast enough to handle the 1:1 interleave all the time.
I will implement slot and single/double side detection now, so that owners of WD2793 machines will be able to work with discs soon.
| | Prodatron msx master Posts: 1125 | Posted: June 05 2006, 18:32   | @Sonic_aka_T and others: Thanx a lot for your effort in finding a good working diskrom/FDC detection routine. I will try to develop an alternative hardware detection routine, then we can see, what is more useful.
| | k0ga msx user Posts: 53 | Posted: June 05 2006, 22:37   | Quote:
| Is there hardware available with rewriteable roms?
For example IDE interface can be flash upgraded. (Flash update utility and ROM:s are available in www.msx.ch
|
Could be great if SymbOS code will be insert in free space in IDE ROM (448K if I am not mistaken) | | Prodatron msx master Posts: 1125 | Posted: June 05 2006, 23:41   | The rom version needs less than 64K, so seems, that there is enough place  | | Prodatron msx master Posts: 1125 | Posted: June 06 2006, 00:14   | Is it possible, that the sector and track registers of the WD2793 are not readable or that they return different values? Currently I am trying to test an autodetect routine on my real machine, which writes and reads sector/track and runs fine on the emulator.
| |
| |
| |