REGARDING THE 1.0b RELEASE AND OTHER NEWS ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ We received tons of mail from all over the world and it's nice to see that some extra FTP/FSP/WWW-sites, BBS's appeared. We try to reply to all the mail we receive but it's possible that we missed some of your messages or didn't have the time to reply. We can't send you the ROM files or any other (c)opyrighted program so please don't ask for it. Speaking of ROM files: we pestered ASCII with mail and E-Mail and we tried other channels for information but we still haven't got a license to distribute the ROM files. We changed some things regarding registering the emulator: þ We won't send you a laser printed bound manual because there was a lot of confusion about it (what version, how many) and the prices to send them overseas are much to steep. þ There's no difference anymore between a shareware and commercial registration. This caused a lot of confusion too and since we're not planning on getting rich on this product there's now only one type of registration fee. For those of you that think we're a commercial company and that this is a big time project: we're just three guys programming on a hobby project and the registration is merely a token of appreciation for our work and to compensate for the expenses we made on developing the emulator. We're NOT making any profit whatsoever. The video code took a lot of time to write. Many methods have been tried and many weren't fast enough or lacked features. We are now detecting your VGA card or VESA BIOS and we hope that it works for all VGA cards available. We have tested it on some cards (ET4000, Trident, Paradise and Diamond) but we can't test it on all possible cards. That's another reason to release this beta version. The sound emulation is becoming better and better, but we still can't start coding for wave table soundcards (like GUS) if we can't borrow one from someone. We thoroughly experimented with and studied DOS 2.xx emulation and decided to drop it. There's a simple and restricted DOS 2.20 emulation. The problems are all relates to technical details and problems. It basically comes down to this: whatever DOS 2.xx or interface we would emulate (DOS 2.20, DOS 2.3x, BERT, other MSX-SCSI) there's still a limit in the diskROM code of 16 bits for sector addressing. If the sector size stays 512 bytes (it is for every interface we know) then there is a 32Mb maximum of a partition. This would imply that you have to dedicate (or at least create) one or more 32Mb partition(s) of your harddisk to the MSX emulator. The other solution would be a 32Mb file on the harddisk. Because the current code already supports harddisks (in fact: all devices using INT 021h (also CD-ROM drives, high density disk drives, etc.)) we decided to drop the research and development on DOS 2.xx or SCSI interface emulation. The above mentioned simple DOS 2.20 emulation only works with DOS 2.20 ROMs and on disk drives. The last restriction is a result of the DOS 2.20 ROMs themselves that can only operate via the sector I/O routines in the original diskROM (you need this one too for DOS 2.20 to work). Bugs fixed: [ We've fixed a LOT of bugs and we didn't keep an exhaustive log of what we did or didn't (sorry :-( so this list is far from complete ] þ Symptom: We received a lot of bug reports on especially F1 Spirit that wasn't working like it should. When we fixed this bug it did work. Many other programs probably suffered from this bug too. Technical explanation: The code contained two wrong memory referencing instructions causing the emulation code to write in MSX memory. This caused some very unpredictable and confusing results. Some people didn't suffer from the problem. Some did, but not always and some people didn't get any program running at all. þ Symptom: Got some programs working like Riverraid and Zoids. Technical explanation: Fixed emulation of Z80A IM 2 mode. þ Weird timing problems on fast machines (80486DX2-66, Pentium) fixed. On fast machines the MSX (without /T) wasn't running at 100% but much faster. þ Sprites appearing in the corner regions of the screen while they shouldn't are now gone þ Better error handling at startup þ Better keyboard handling. E.g. CapsLock þ Added some more inofficial Z80A instructions. We now think we've got 'm all (or at least nearly all of them :-) þ MSXDUMP.COM now works correctly with commandline parameters þ Extra program to fetch ROM files. the GETROM.BAS program still had some problems. þ Soundcard detection routines turned the CD-ROM drive LED on when using a soundcard with a CD-ROM connected to it. Probably fixed. þ Better print routines and detection for running PRINT.COM print jobs. þ Doing a LOAD "" in BASIC on a directory would caus the emulator to lock up. This is in fact a MS-DOS bug but we worked around it þ Sound routines fixed and rewritten þ Optimized some code for 80486. þ and a lot more.... What's new: þ Telephone number of main support BBS and E-mail address have changed þ MSX-2 emulation (that's a huge one !) þ Both 'Sony' and 'Philips' memory/slot layouts selectable: /S switch þ SCC now both in slot 1 and 2. þ DOS 2.20 emulation. BUT: only with DOS 2.20 ROMs and only on disks: /2 switch þ MSX keypad (not on all MSX keyboards) emulation via numerical keypad þ Activating NumLock with the [NumLock] key enables numeric keypad cursor keys (and disables the MSX keypad emulation for 8, 6, 2, 4). Most keyboards don't support pressing two or more (cursor) keys at once. This is very irritating in games when two or more cursor keys have to be pressed at once. Activating NumLock and using the cursor keys on the numerical keypad fixes this. þ Slow speed LED now on ScrollLock LED þ The [Pause] key now stops the emulator temporarily (pause). Pressing 3 [Pause] again resumes it. þ Slight speedup of megaROM emulation þ Updated documentation. More addresses, BBS's, etc. þ New commandline switch /P, /5, /N, /G and /Y þ With shift-alt you can make a screendump to MSX2PICT.BMP . þ Some people had problems with their VGA card: with the new /U option only standard VGA modes are used. þ With the /W command line option you can save PSG-music to a file. Players are coming up soon. This fileformat is compatible with the format of Marat F. þ With the /I command line option you can use .DDI files as drive A:. þ By pressing Shift and Alt, a screendump is made (MSX2PICT.BMP). This only works in the 256/512 resolution modes (NOT with the /U option). Known bugs: þ Using DOS valid device names like CON, PRN, AUX, etc is not trapped properly in high level disk I/O mode. Doing a COPY filename CON in the emulator will dump to stdout of DOS. þ It's possible that the diskdrive rotation speed has to be adjusted for some disk formats in low level disk I/O mode. þ GETALLO does not return ALL parameters (impossible in some situations). þ The low level disk I/O routines have been optimized to read/write more sectors at a time. It's possible that this doesn't work on all BIOS-es. We've had this experience with another program. Please report on this if you have any problems. þ Some old konami's such as tennis and hypersports act real slow in the intro-screen but do work when you wait for the game. þ Bug in VDP copy-commands (sometimes the requested data is not copied completely) Not working (yet): þ The mouse emulation still doesn't work. We've tried several methods and one did work for programs that seem to do the same thing as the BIOS does, but others (like EASE) don't work. Because we've tried several methods the current method doesn't work at all. We will fix this later. þ The keyboard is fixed on a international or USA keyboard layout. þ Magnified sprites (bit 0 in VDP register 1) not implemented. þ Sound emulation is not completely finished: þ PSG envelopes won't work þ Incomplete MSX-AUDIO/Philips Music Module support (no sample-ram). þ SCC emulation doesn't support samples and it doesn't sound like we would want it to. þ Joystick support not finished yet þ Sprites in screen 6 and 7 þ VDP status register 0 bits 0-4 : fifth/ninth spritenumber þ PSG register 14 bits 0 to 5 (joystick/mouse) þ PSG register 15 bits 5 & 4 (puls 1, puls 2: joystick/mouse) Not emulated (mostly because it's not necessary/usefull): þ PPI-poort &HAB is not emulated (no use to emulate: can't be changed in MSX architecture). þ VDP status register 1 bit 7,6 (FL,LPS): lightpen þ VDP status register 2 bit 1 (EO): display field flag þ VDP status register 3,4,5,6: sprite collision location, lightpen þ VDP register 8 bit 7,6,4,0 (MS,LP,CB,BW): color-bus settings þ VDP register 9 bit 5,4,3,2,1,0 (S1,S0,IL,EO,NT,DC): various settings þ VDP register 18: display adjust register þ VDP register 19 does not work in screen 0,1,2 and 3 þ Hardware tile function (sprites/background in screen 6) þ PSG register 7 bit 7,6 (port-direction (CAN'T be changed in MSX architecture) þ PSG register 14 bit 6 (keyboardmode) þ PSG register 15 bit 7 (kana led) þ Tape support is not working properly because of new timing Programs that don't work properly (yet) as we know of: þ Space manbow : weird behaviour. There are more than 1 splitscreen-points on the screen þ Breaker : garbage on the screen (VDP copy-command bug) þ Quarth : garbage on screen (VDP copy-command bug) þ Baseball : pitcher-sprites are not displayed correctly þ King's Valley 2 : crashes during game þ T. of Usas : sprites are nog displayed correctly þ Unkn. reality : problems with split-screen emulation þ Aleste : Another VDP copy bug problem