Troubleshooting, Information, Documents, Parts, Setup, Settings, Pinouts & Help
Last Updated: 06/NOVEMBER/2016
A thanks goes out to Trimesh for helping with the controller pinouts, ASSEMbler and Defor for some document images, NO$CASH for two of the Mechacon (Mechanics Controller) datasheets, Jackhead, LameGuy64 and a thanks also goes out to 'some guys' at SCEE that helped with troubleshooting hardware problems.
If you need help with any Sony Development Boards or PlayStation 1 Development items, let me know as specific help for these items is hard to find, including repair problems. The other expert on these development cards is LameGuy64 and he can be found in these forums too.
What is a Sony DTL-H2000?
A DTL-H2000 is the official development kit that Sony used to send to licensed developers. They are quite rare to find, but are still useful today for developing PlayStation 1 games. It features a full debugger, PC HDD communication, 8MB of RAM, no license protection and much more. Your computer will require two 16-bit ISA slots, and Windows 3.1 to Windows 98 to work. Higher Windows versions have not been tested and are not recommended to use. Windows 98 or Windows 98 Second Edition is ideal.
Tips and Tricks with the DTL-H2000:
DEXBIOS while running under Windows 9x may complain that it is causing issues in AUTOEXEC.BAT. I also find it is extremely unstable and locks up your system. To prevent this, Sony said in their one of their documents to instead call DEXBIOS in your command window once (with the correct data associated to your dip switches) when you need it, and proceed with RESETPS 1 followed by RUN /w5 SNPATCH.CPE and then RUN /w5 MAIN.CPE. Once you close that command prompt windows though, you must re-call DEXBIOS. It is best to make batch scripts for everything such as calling DEXBIOS, UPLOAD to the H2000 and DEBUG on the H2000 (examples below).
MESS1 works with printfs but it is really slow. Almost like it is at 300 baud. This causes your PS-EXE to run extremely slow if you have heavy debugging with printfs. Instead, use MESS3 as this uses the PC serial port to send the printfs over. If you have a motherboard with two RS232 ports (COM1 and COM2), you can link COM1 Tx to COM2 Rx and COM1 Rx to COM2 Tx. Ground doesn't need to be wired because they share the same ground. Run MESS3 with the correct switches (see MESS /? for help) and run Hyper Terminal with the correct settings. You should now see your printfs, and you have full control over the baud rate. One problem however is that the command prompt windows must be active for the H2000 to continue running. If the window loses focus, the PS-EXE halts until it regains focus. A trick is to leave the command prompt on top of Hyper Terminal (or puTTY) on one half of the screen. I'm sure though that there is a setting under the command prompt options that can disable this.
PQBLOAD sometimes reports a timeout and or SCSI error. The timeouts and SCSI errors happen because the DTL-H2000 is still busy, or the program before (in this case, RUN /w5 SNPATCH.CPE) is still being executed. To solve this, SN Systems included a delay function called DELAY.COM under psyq\bin (there is also a SLEEP batch file below if you would like to use that instead). Place a delay of approximately 3 seconds after SNPATCH.CPE is ran to prevent timeout/SCSI errors. If you still get SCSI timeouts, just re-upload everything (IE: re-run the H2000.BAT code below). That seems to fix everything and I usually do that if not all the time. I'm certain that it may be an IRQ problem, but then again, it may be a DMA problem since I'm using the default DMA jumper setting on the board. You can try changing jumpers (IRQ and DMA) on the board and changing the /i10 that DEXBIOS uses to something else to see if that solves the problem. When in doubt though, just check your resources under device manager.
DBUGPSX may sometimes report a BUS error and to either 'Retry' or 'Abort'. First, make sure that you run RESETPS 1 (or otherwise if you're using the CD-ROM drive), then run SNPATCH.CPE before debugging. Also be sure that you are loading into RAM the files needed by your PS-EXE using PQBLOAD. To see your C code whilst debugging, make sure that MAKEFILE.MAK includes the -g option and -Xm (EG: ccpsx -g -Xm -Xo$80010000 main.c -omain.cpe,main.sym,mem.map). If the problem persists (DBUGPSX is still crashing), there is something wrong with your code and the H2000 is most likely stuck in an infinite loop, for loop and or while routine. Check the last line that it froze on to be sure. Everything for the MS-DOS based debugger can be found within the 'Psy-Q Systems Manual' at Chapter 11.
Replacement Fuses:
ICP-N38, 1.5 Amp fuse, 50 Volts. Just search for them on Aliexpress (they seem to be available there).
https://www.aliexpress.com/item/32588020634.html
Replacement Connectors:
The blue 40 pin DTL-H2010 (and SPU terminator when no H2010 drive is connected) connector is a Yamaichi NFS-40A-011 (or NFS-40A-0110BF).
http://www.yamaichi.co.jp/products/conn ... nf_e.shtml
http://uk.farnell.com/yamaichi/nfs-40a- ... FS-40A-011
https://au.element14.com/yamaichi/nfs-4 ... dp/3267864
http://www.newark.com/yamaichi/nfs-40a- ... CMP=AFC-OP
Mechacon Datasheet:
This is the 80 pin mechacon (mechanics controller) motorola MCU with the firmware socketed in an EPROM
Under the PLCC EPROM there was text marked as 'P823' 'U01Q' which helped me find the datasheet.
There are three available that will explain everything about the MCU.
1: 2: 3: 1: CXP82300, pinouts for the version with "00" kbytes on-chip ROM, and external EPROM socket.
2: CXP823xx, pinouts and more detailed specs for the chip versions with "xx" kbyte on-chip ROM.
3: General datasheet for the chip.
DTL-H2000 (1994) BIOS:
Topic reference (download) viewtopic.php?f=54&t=570
What Computer Hardware and Operating System should I use?
At the time, Sony was starting out on Windows 3.1. They then quickly moved to Windows 95, followed by Windows 98. I myself use Windows 98 Second Edition with USB Support (even though I don't use any USB devices since it is very unstable on Windows 98). My motherboard has a Pentium 3 (Slot 1) at 400MHz, 512MB of SDRAM RAM and a 30GB HDD followed by my AGP Graphics Card, PCI Sound Blaster, PCI Ethernet Card and 3x 16-BIT ISA slots which only two are being used by the H2000's leaving me with one spare. It has plenty of power compared to what Sony developers had to use at the time, and it's more than powerful enough to run Firefox to get connected to the PSXDEV.net site and IRC channel. My BIOS is set to reserve IRQ 10 for 'Legacy ISA' which you can see in the image below. I've set the DMA reservation to 5, but I'm using the default jumper settings for the cards, so it's actually not even being used.
What should my overall DTL-H2000 development setup look like?
It should look like the image below, but take into consideration that the CD-ROM drive (DTL-H2010) is not required and is completely optional.
Is there any driver for the DTL-H2000?
There is, and I did install it on my Windows 98 SE system. The driver can be located under 'DECI/PSX95ISA' for Psy-Q, but may be downloaded here anyway. Be sure that you edit the .INF in relation to your board DIP switch and jumper settings. In particular, 'IRQConfig=10' and 'IOConfig=1340-134b(3ff::)' should be checked. When in doubt, check your resources under 'Device Manager' to see what IRQ and DMA (should you wish to use DMA) addresses are free, and change the jumpers on your H2000 to select a free address. As mentioned above, if your BIOS can reserve addresses, it makes things a little easier. I also suggest installing the H2000 cards before you add in any other cards (ethernet card, sound card, etc) since Windows can usually autoconfigure IRQ and I/O ranges for PCI based cards.
My DTL-H2000 freezes when there is SPU activity and or it won't play any audio!
If your cards will not play and SPU related content or they lockup when you try to initialise the SPU, it would be because when you removed the DTL-H2010 CD-ROM drive you did not plug in the termination dongle that bridges two specific pins. The pinouts can be seen in the image below, and the connector can be bought from the link above under the title, 'Replacement Connectors:'.
A little more information may be found here: viewtopic.php?f=47&t=541
My DTL-H2000 is not giving coloured bars and or I have a weird sync!
If you see a weird sync like the image below, F883 (fuse) on the CPU2 board is most likely blown. If not, check all the other fuses and ensure that you are using the correct sync line. You will know that F883 is blown because when you power on the H2000, the colours appear stronger in brightness for a millisecond, and then fade down into a more darker image. When powering off the H2000, the speakers also give out an audible 'squeak' sound.
I can't get a good RGB sync out of my cards!
If you're using RGB and you can't get a good sync, try using the Y pin from the S-Video line and not the composite (see the image below for what a sync with composite looks like on a Commodore 1084S monitor).
If your H2000 doesn't give a good video out, sync, composite video or no absolutely video at all, be sure to check every single fuse on both of the boards. Never bridge or jump a fuse. If something surges again, a much more delicate part will fry instead of a fuse. When desoldering the fuses, be sure you are competent with a soldering iron (do not destroy and rip up the PCB/copper mask).
Example Batch Files:
These are some extremely useful batch files when working with the H2000.
Edit them accordingly to your liking/settings.
DEXBIOS.BAT:
Code: Select all
@ECHO OFF
CLS
ECHO.
REM BV 1
C:\PSYQ\BIN\DEXBIOS /a1340 /i10 /ldexlog.txt
ECHO.
REM MESS1
MESS3 /b9600 /c1
ECHO.
Code: Select all
@ECHO OFF
CLS
ECHO ===============================================================================
ECHO ==================== Sony PlayStation 1 Development System ====================
ECHO ===============================================================================
ECHO.
ECHO http://psxdev.net/
ECHO MAIN.CPE
ECHO.
ECHO Sony DTL-H2000 PSX Upload and Debug Utility
ECHO.
ECHO ===============================================================================
ECHO.
RESETPS 1
ECHO.
ECHO [EXECUTING SNPATCH.CPE]
RUN /w5 SNPATCH.CPE
CALL C:\SLEEP 1
CALL ADDRESS.BAT
ECHO [EXECUTING MAIN.CPE AT 80010000]
RUN /w5 MAIN.CPE
ECHO.
REM TESTMESS
REM DBUGPSX MAIN.SYM
Code: Select all
@ECHO OFF
CLS
RESETPS 1
ECHO.
ECHO [EXECUTING SNPATCH.CPE]
RUN /w5 SNPATCH.CPE
CALL C:\SLEEP 2
CALL ADDRESS.BAT
ECHO [EXECUTING THE DEBUGGER]
CALL C:\SLEEP 2
DBUGPSX MAIN /e /m+
Code: Select all
ECHO [PQBLOAD IMAGE1.TIM 80045000]
PQBLOAD DATA\TIM\IMAGE1.TIM 80045000
CALL C:\SLEEP 1
ECHO [PQBLOAD IMAGE2.TIM 8006A818]
PQBLOAD DATA\TIM\IMAGE2.TIM 8006A818
CALL C:\SLEEP 1
Code: Select all
@ECHO OFF
@CHOICE /t:n,%1% > null
Translated: Switching between NTSC/PAL (NTSC setting being default)
Translated: Setting an address - an address for port can be configured by dip switch A4~A15 (Default setting is given)
1: Address
2: Manufacture/Factory default setting ( 0 x134 ) -- (literally it says: setting when it left the factory)
3: Manufacture/Factory default setting
4: Switch number
NOTE: For more information on how to change this setting and you are confused how Sony came up with 0x134 from these jumper settings, see the Psy-Q DOCS folder \techref\DTLH2000.PDF (this is shown in the image below).
If you're still confused like I was, how it works is you set the value of all the dip switches on. So as an example, to get Sonys default 0x1340 address, you set all the dip switches on to 11111111 1111. This equals 4095 in decimal. Now, you negate 308 which gives you 3787. Now, convert 3787 to binary which is 11101100 1011. Set these as your dip switch settings where 1=on and 0=off. If you would like the address 0x12C0, you take 11111111 1111 which is 4095, negate 300, which gives you 3795 in decimal and 11101101 0011 in binary. These binary digits are your dip switch settings.
Translated: Interrupts and DMA setting - configurable by jumper pin on PIO2 board. (Default setting (top one) is for no interrupts and no DMA)
AV Pinouts (all female connectors)
Note: If you use a female connector as seen below (highly recommended), use a male-to-male PC VGA cable to join the two together. If you want to use RGB, use Pin 5 (Y) as the Sync instead of the Composite Video line. If you do not want to use RGB, then you may use the Composite Video line as normal. Don't forget the grounds however, and be extremely careful you have the connector the right way as Pin 15 contains direct voltage and will blow a fuse if you short it to something you're not supposed to.
Note: The PCB seen below was desoldered from a PlayStation 1 controller port for use on the H2000.
Note: The PCB will need to be sliced accordingly to make the memory cards work.
Note: These two images below of the direct PCB pinouts are untested.
[/size]