I'm still keeping an eye on this topic - spent a whole afternoon last weekend trying to find a CD drive that was (a) still working smoothly and (b) could be slowed down. I have dozens but they're becoming noisy & unreliable and not all support the slowing down - for DOS games they're extremely loud. Having a board emulate a drive with a display would be awesome to have - even better to have multiple buttons and not just a rotary button which is very slow in use.
I have had a crazy idea on what to do with my Tattiebogle. I want to take an optical drive that no longer reads and put the Tattiebogle inside along with a Raspberry Pi. When pressing the eject button the tray would come out and inside would be a touch screen interface controlled by the Pi. It would allow you to scroll through your disk images via an Icon interface.
For me, this would be perfect for my early FMV games that have multiple disks. 7th Guest, 11th Hour, Phantasmagoria, Tex Murphy Overseer, Wing Commander games, Star Trek Borg, Star Trek Klingon etc. As well as all early games that used redbook audio.
I'm kinda holdling out for Gotek style directory and image browsing via a separate screen and encoder/buttons - we'll see
It should be noted that there is already a provision for a Gotek-like interface. It's not identical to it, but that's also because there are some quirks of navigating directories for image files versus when you're using them to distinguish BIN/CUE folders. A lot of the functionality here is being fleshed out, but it's quite functional and it works well.
At the moment, the control board is a DIY thing; you can get the gerbers for the current revision of the control board here. There are automated build files in the release that will take care of most of the SMT soldering for you. The only thing you'd need to solder yourself are the through-hole components (the rotary, header for the OLED, and the two tactile switches) and the Qwiic connector footprint on the same edge of the board as the rotary encoder.
If you want to just build it yourself, it's pretty inexpensive to make. You do need to be willing to solder some fairly fine-pitch components (namely the I2C expander chip on the back and the Qwiic connector), however.
I'm still keeping an eye on this topic - spent a whole afternoon last weekend trying to find a CD drive that was (a) still working smoothly and (b) could be slowed down. I have dozens but they're becoming noisy & unreliable and not all support the slowing down - for DOS games they're extremely loud. Having a board emulate a drive with a display would be awesome to have - even better to have multiple buttons and not just a rotary button which is very slow in use.
I have had a crazy idea on what to do with my Tattiebogle. I want to take an optical drive that no longer reads and put the Tattiebogle inside along with a Raspberry Pi. When pressing the eject button the tray would come out and inside would be a touch screen interface controlled by the Pi. It would allow you to scroll through your disk images via an Icon interface.
For me, this would be perfect for my early FMV games that have multiple disks. 7th Guest, 11th Hour, Phantasmagoria, Tex Murphy Overseer, Wing Commander games, Star Trek Borg, Star Trek Klingon etc. As well as all early games that used redbook audio.
Yeah it's always a balance between nostalgia & keeping it authentic vs having modern conveniences.
The absolute best solution would be to keep it all internal, keep the CD drive active as secondary device and run the FPGA off the slave port while using wifi to configure which image is active. Heck, the ability to transfer images via wifi would be amazing since it would allow for a fully invisible system without requiring to open up the machine.
One of the things that "bug" me is how the available screens are anything but retro looking - a dot matrix screen like this would fit rather nicely since the tech existed way back as well:
An alternative is to write a DOS & Windows 9X tool that can communicate with the drive to list the available images allowing you to select one by name or number. This would allow for invisible use as well but the question is how easy it would be to write such a tool.
Retro game fanatic.
IBM PS1 386SX25 - 4MB
IBM Aptiva 486SX33 - 8MB - 2GB CF - SB16
IBM PC350 P233MMX - 64MB - 32GB SSD - AWE64 - Voodoo2
PIII600 - 320MB - 480GB SSD - SB Live! - GF4 Ti 4200
i5-2500k - 3GB - SB Audigy 2 - HD 4870
Great to hear that you are still around. Are you aware of the issue where commands to stop CD audio playback are ignored? If so, is there a fix for it? I could send you logs I think if you can't reproduce the issue. This was one of the main reasons I don't use it.
I hadn't heard of that specific issue - a few people reported some mild audio issues (mostly specific DOS games doing specific things that didn't get handled right so it just didn't start or started the wrong music/etc.) that I'd fixed, but I don't recall that specific issue. Seeing the logs would be a good start, thanks!
Anyone who's watching this topic might want to check out this post. The ZuluIDE has hit a couple of milestones lately that really make it much more fully fleshed-out and "ready for prime-time," IMO.
Additionally, I've been working with the dev team on getting their documentation written to be more comprehensive, so if you happen to have one of these devices and you've come across something that you think needs to be noted, please let me know.
Anyone who's watching this topic might want to check out this post. The ZuluIDE has hit a couple of milestones lately that really make it much more fully fleshed-out and "ready for prime-time," IMO.
Additionally, I've been working with the dev team on getting their documentation written to be more comprehensive, so if you happen to have one of these devices and you've come across something that you think needs to be noted, please let me know.
I was wondering if the zuluide can be made to support ATA devices, like harddrives, and if possible even support two devices.
Can the hardware as it is now, support that ?
red_avatarwrote on 2024-12-12, 08:11:Yeah it's always a balance between nostalgia & keeping it authentic vs having modern conveniences. […] Show full quote
Yeah it's always a balance between nostalgia & keeping it authentic vs having modern conveniences.
The absolute best solution would be to keep it all internal, keep the CD drive active as secondary device and run the FPGA off the slave port while using wifi to configure which image is active. Heck, the ability to transfer images via wifi would be amazing since it would allow for a fully invisible system without requiring to open up the machine.
One of the things that "bug" me is how the available screens are anything but retro looking - a dot matrix screen like this would fit rather nicely since the tech existed way back as well:
An alternative is to write a DOS & Windows 9X tool that can communicate with the drive to list the available images allowing you to select one by name or number. This would allow for invisible use as well but the question is how easy it would be to write such a tool.
Yeah, I want to keep the look of my PC. That's why I want to hide the interface in a broken CD drive. Another alternative is that I have got a couple of tiny Pi Pico screens. Basically the size of a computer label. One that might have the Windows logo or brand sticker. It may be possible to embed one of those in the case, so normally it looks like a sticker. But if you want to change something you can press buttons to interact with it.
I don't want to have two CD drives simultaneously for my DOS machine. Many games will assume the game is in the first drive, or will store the drive letter it was installed from. A better solution I think is to have the ability to switch which drive is active. Even better would be having the simulator always active, and have a CD drive connected to it (probably a USB one) and for the simulator device to be able to rip its own copies.
As for the DOS or windows tool, there is already an API that allows you to control the simulator via custom commands over IDE interface. I think I saw a DOS program that could do it at some point, but I can't find it now. I think the issue with DOS command line tools is that it's only suitable before you launch the game. If you are playing a multi-disk game that asks you to swap disk whilst in the game then it would require a tool that stays resident in memory. Speaking of which, the tattiebogle doesn't currently work very well for me on swapping images in DOS. DOS doesn't detect that the disk changed unless I remove the virtual disk, make DOS try to read it (and fail) then select another disk image. I am hoping this issue will be fixed.
I was wondering if the zuluide can be made to support ATA devices, like harddrives, and if possible even support two devices.
Can the hardware as it is now, support that ?
The ZuluIDE actually does, in fact, support emulation of hard disks. It's one of the newer features added (along with CD audio), so the more folks out there using it, the better it will get.
As for dual-device support, that's not been something that's on the radar as we've mostly been focused on stability of non-optical drive modes, and cranking the speed of things up as far as we can get it to go, but that's a great idea. Feel free to put up a request on the Github for it and it can be something we look into.
I spent much of the last couple of days ripping my CDs to images and loading up my 256gb SD card for my Pentium MMX system with the TattieBogle IDE simulator. Loving the device so far, and the dev has been very responsive to my questions.
So far I've only used 74Gb of the 256gb, with these images:
1577M Jan 23 14:40 11HOUR_1.bin 2 71 Jan 23 14:38 11HOUR_1.cue 3715M Jan 23 14:43 11HOUR_2.bin 4 71 Jan 23 14:40 11HOUR_2.cue 5654M Jan 23 14:46 11HOUR_3.bin 6 71 Jan 23 14:43 11HOUR_3.cue 7692M Jan 23 14:49 11HOUR_4.bin 8 71 Jan 23 14:46 11HOUR_4.cue 9338M Jan 23 17:28 ALONDARK.bin 10 715 Jan 23 17:26 ALONDARK.cue 11672M Jan 23 10:51 AOE2.bin 12655M Jan 23 11:10 AOE2CONQ.bin 13 130 Jan 23 10:53 AOE2CONQ.cue 14 126 Jan 23 10:30 AOE2.cue 15309M Jan 18 13:43 AOE.bin 16 66 Jan 18 13:42 AOE.cue 17681M Jan 23 14:17 BLDRUN_1.bin 18 71 Jan 23 14:15 BLDRUN_1.cue 19692M Jan 23 14:20 BLDRUN_2.bin 20 71 Jan 23 14:18 BLDRUN_2.cue 21652M Jan 23 14:24 BLDRUN_3.bin 22 71 Jan 23 14:22 BLDRUN_3.cue 23637M Jan 23 14:31 BLDRUN_4.bin 24 71 Jan 23 14:29 BLDRUN_4.cue 25559M Jan 22 17:13 BORG1.bin 26 68 Jan 22 17:11 BORG1.cue 27727M Jan 22 17:18 BORG2.bin 28 68 Jan 22 17:16 BORG2.cue 29709M Jan 22 17:21 BORG3.bin 30 68 Jan 22 17:19 BORG3.cue 31605M Jan 23 20:29 CAPTLISM.bin 32 403 Jan 23 20:27 CAPTLISM.cue 33726M Jan 22 14:39 CARMA1.bin 34 401 Jan 22 14:37 CARMA1.cue 35705M Jan 22 15:52 CARMA2.bin 36 401 Jan 22 14:55 CARMA2.cue 37663M Jan 23 11:54 'C&C_D1.bin' 38 69 Jan 23 11:52 'C&C_D1.cue' 39645M Jan 23 12:01 'C&C_D2.bin' 40 69 Jan 23 11:59 'C&C_D2.cue' 41650M Jan 23 16:44 'C&C_RA_1.bin' 42 71 Jan 23 16:42 'C&C_RA_1.cue' 43690M Jan 23 16:49 'C&C_RA_2.bin' 44 71 Jan 23 16:46 'C&C_RA_2.cue' 45584M Jan 22 19:45 CIV_II.bin 46 440 Jan 22 19:43 CIV_II.cue 47769M Jan 23 11:33 CMMANDOS.bin 48 244 Jan 23 16:44 CMMANDOS.cue 49728M Jan 22 18:49 CROC.bin 501.7K Jan 22 18:46 CROC.cue 51724M Jan 22 18:18 CYDONIA1.bin 52 71 Jan 22 18:16 CYDONIA1.cue 53715M Jan 22 18:23 CYDONIA2.bin 54 71 Jan 22 18:20 CYDONIA2.cue 55727M Jan 22 18:26 CYDONIA3.bin 56 71 Jan 22 18:24 CYDONIA3.cue 57718M Jan 22 18:40 CYDONIA4.bin 58 71 Jan 22 18:38 CYDONIA4.cue 59719M Jan 22 18:44 CYDONIA5.bin 60 71 Jan 22 18:41 CYDONIA5.cue
…Show last 201 lines
61616M Jan 23 16:54 DDERBY1.bin 62 831 Jan 23 16:52 DDERBY1.cue 63652M Jan 23 16:58 DDERBY2.bin 64 792 Jan 23 16:55 DDERBY2.cue 65327M Jan 22 23:27 DOTT.bin 66 67 Jan 22 23:25 DOTT.cue 67115M Jan 23 21:22 DUKE3D.bin 68 69 Jan 23 21:22 DUKE3D.cue 69632M Jan 23 11:42 EARTHWRM.bin 701.2K Jan 23 11:40 EARTHWRM.cue 71747M Jan 22 16:07 FEEBLE1.bin 72 70 Jan 22 16:04 FEEBLE1.cue 73747M Jan 22 16:11 FEEBLE2.bin 74 70 Jan 22 16:08 FEEBLE2.cue 75472M Jan 23 16:31 FLTUN2_1.bin 76 71 Jan 23 16:29 FLTUN2_1.cue 77700M Jan 23 16:34 FLTUN2_2.bin 78 71 Jan 23 16:32 FLTUN2_2.cue 79633M Jan 23 22:37 FORSAKEN.bin 80 442 Jan 23 22:35 FORSAKEN.cue 81614M Jan 23 14:36 FULTHROT.bin 82 71 Jan 23 14:34 FULTHROT.cue 83430M Jan 23 17:07 FURY3.bin 84 283 Jan 23 17:06 FURY3.cue 85746M Jan 22 18:15 GPOLICE.bin 86 480 Jan 22 18:10 GPOLICE.cue 87729M Jan 23 21:48 GRIMFAN1.bin 88 71 Jan 23 21:46 GRIMFAN1.cue 89727M Jan 23 21:51 GRIMFAN2.bin 90 71 Jan 23 21:49 GRIMFAN2.cue 91523M Jan 23 10:27 GTA2.bin 92 67 Jan 23 10:25 GTA2.cue 93720M Jan 18 13:28 GTA.bin 94 476 Jan 18 13:26 GTA.cue 95718M Jan 23 10:23 GTALOND.bin 96 675 Jan 23 10:21 GTALOND.cue 97537M Jan 23 11:18 HUNTERHH.bin 98 481 Jan 23 11:16 HUNTERHH.cue 99256M Jan 23 21:37 HVYGEAR1.bin 100 71 Jan 23 21:36 HVYGEAR1.cue 101550M Jan 23 21:40 HVYGEAR2.bin 102 520 Jan 23 21:38 HVYGEAR2.cue 1035.7M Jan 22 16:21 IJ3_CRUS.bin 104 71 Jan 22 16:21 IJ3_CRUS.cue 105182M Jan 22 16:19 IJ4_ATL.bin 106 73 Jan 22 16:24 IJ4_ATL.cue 107377M Jan 23 17:17 KHG_D1.bin 108 69 Jan 23 17:15 KHG_D1.cue 109715M Jan 23 17:20 KHG_D2.bin 110 362 Jan 23 17:18 KHG_D2.cue 111677M Jan 23 20:58 KINGSQ7.bin 112 70 Jan 23 20:55 KINGSQ7.cue 113622M Jan 22 17:25 KLINGON1.bin 114 71 Jan 22 17:23 KLINGON1.cue 115635M Jan 22 17:28 KLINGON2.bin 116 71 Jan 22 17:26 KLINGON2.cue 117673M Jan 22 17:31 KLINGON3.bin 118 130 Jan 22 17:29 KLINGON3.cue 119573M Jan 23 20:50 LEGOCHES.bin 120 71 Jan 23 20:48 LEGOCHES.cue 121628M Jan 23 20:05 LONGBOW.bin 122 70 Jan 23 20:03 LONGBOW.cue 123717M Jan 23 18:49 MANXTT.bin 124 752 Jan 23 18:47 MANXTT.cue 125714M Jan 23 21:26 MECHW2.bin 126642M Jan 23 21:35 MECHW2BL.bin 127 871 Jan 23 21:33 MECHW2BL.cue 1281.1K Jan 23 21:24 MECHW2.cue 129481M Jan 21 17:43 MNKY_1_2.bin 1301.1K Jan 21 17:41 MNKY_1_2.cue 131624M Jan 21 16:44 MTM2.bin 132 67 Jan 21 16:42 MTM2.cue 133140M Jan 23 21:42 NASCAR.bin 134 167 Jan 23 21:41 NASCAR.cue 135692M Jan 21 16:41 NFSIISE.bin 136 70 Jan 21 16:38 NFSIISE.cue 137625M Jan 21 15:09 NFSSE.bin 138 68 Jan 21 15:07 NFSSE.cue 139506M Sep 10 2007 'Office 2k Pro.iso' 140722M Jan 23 13:28 OVERSEE1.bin 141 71 Jan 23 13:26 OVERSEE1.cue 142727M Jan 23 13:33 OVERSEE2.bin 143 71 Jan 23 13:31 OVERSEE2.cue 144742M Jan 23 13:37 OVERSEE3.bin 145 71 Jan 23 13:35 OVERSEE3.cue 146705M Jan 23 13:41 OVERSEE4.bin 147 71 Jan 23 13:38 OVERSEE4.cue 148747M Jan 23 13:44 OVERSEE5.bin 149 71 Jan 23 13:42 OVERSEE5.cue 150677M Jan 18 13:02 PHANTAS1.bin 151 71 Jan 18 13:00 PHANTAS1.cue 152568M Jan 23 13:51 PHANTAS2.bin 153 71 Jan 23 13:49 PHANTAS2.cue 154704M Jan 23 13:55 PHANTAS3.bin 155 71 Jan 23 13:52 PHANTAS3.cue 156708M Jan 23 13:59 PHANTAS4.bin 157 71 Jan 23 13:56 PHANTAS4.cue 158682M Jan 23 14:03 PHANTAS5.bin 159 71 Jan 23 14:00 PHANTAS5.cue 160707M Jan 23 14:06 PHANTAS6.bin 161 71 Jan 23 14:04 PHANTAS6.cue 162574M Jan 23 14:10 PHANTAS7.bin 163 71 Jan 23 14:08 PHANTAS7.cue 164781M Jan 23 11:38 PHAROAH.bin 165 70 Jan 23 11:35 PHAROAH.cue 166552M Jan 21 13:17 POD.bin 167 125 Jan 21 13:15 POD.cue 168317M Jan 22 18:51 POWERF1.bin 169 246 Jan 22 18:50 POWERF1.cue 170688M Jan 18 13:34 PRIV2D1.BIN 171 70 Jan 18 17:39 PRIV2D1.CUE 172701M Jan 18 13:38 PRIV2D2.BIN 173 70 Jan 18 20:42 PRIV2D2.CUE 174585M Jan 22 21:02 PRIV2_D3.bin 175 71 Jan 22 21:01 PRIV2_D3.cue 176633M May 15 2023 QUAKE101.BIN 177 481 May 15 2023 QUAKE101.CUE 178485M Jan 23 21:13 RALYCHMP.bin 179 637 Jan 23 21:11 RALYCHMP.cue 180256M Jan 23 11:45 RCTYCOON.bin 181 71 Jan 23 11:44 RCTYCOON.cue 182645M Jan 22 22:25 RLR.bin 183 320 Jan 22 22:23 RLR.cue 184358M Jan 22 23:29 SAMNMAX.bin 185 246 Jan 22 23:27 SAMNMAX.cue 186236M Jan 23 12:10 SC2000.bin 187 69 Jan 23 12:04 SC2000.cue 188595M Jan 23 12:46 SC3000.bin 189 69 Jan 23 12:44 SC3000.cue 190541M Jan 23 21:01 SCRMRALY.bin 191 403 Jan 23 20:59 SCRMRALY.cue 192395M Jan 23 12:54 SIMISLE.bin 193 70 Jan 23 12:53 SIMISLE.cue 194218M Jan 22 19:00 SIMON1.bin 195 69 Jan 22 18:59 SIMON1.cue 196208M Jan 22 19:05 SIMON2.bin 197 69 Jan 22 19:04 SIMON2.cue 198 41M Jan 23 13:21 SIMTOWER.bin 199 71 Jan 23 13:20 SIMTOWER.cue 200204M Jan 23 13:24 SIMTUNES.bin 201 71 Jan 23 13:23 SIMTUNES.cue 202205M Jan 22 16:16 STSPUZZ.bin 203 70 Jan 22 16:16 STSPUZZ.cue 204747M Jan 23 17:01 ST_UNITY.bin 205 71 Jan 23 16:59 ST_UNITY.cue 206637M Jan 21 13:05 SUBCULT.bin 207 519 Jan 21 13:02 SUBCULT.cue 208 61M Jan 22 21:52 SYNDICAT.bin 209 71 Jan 22 21:52 SYNDICAT.cue 210734M Jan 22 21:50 SYNDWARS.bin 211 208 Jan 22 21:46 SYNDWARS.cue 212203M Dec 8 2007 THMHOSPL.iso 213603M Jan 22 17:40 TIMECOMM.bin 214 169 Jan 22 17:37 TIMECOMM.cue 215506M Jan 23 20:32 TNICTRBL.bin 216 71 Jan 23 20:30 TNICTRBL.cue 217717M Jan 23 21:45 TOCA.bin 218 282 Jan 23 21:43 TOCA.cue 219186M Jan 23 17:04 TRMVELOC.bin 220 71 Jan 23 17:03 TRMVELOC.cue 221483M Jan 23 17:14 UNREAL.bin 222 69 Jan 23 17:12 UNREAL.cue 223642M Jan 22 21:07 WC3_D1.bin 224 69 Jan 22 21:05 WC3_D1.cue 225620M Jan 22 21:10 WC3_D2.bin 226 69 Jan 22 21:08 WC3_D2.cue 227633M Jan 22 21:14 WC3_D3.bin 228 69 Jan 22 21:12 WC3_D3.cue 229644M Jan 22 21:16 WC3_D4.bin 230 69 Jan 22 21:14 WC3_D4.cue 231684M Jan 22 21:20 WC4_D1.bin 232 69 Jan 22 21:18 WC4_D1.cue 233702M Jan 22 21:23 WC4_D2.bin 234 69 Jan 22 21:21 WC4_D2.cue 235694M Jan 22 21:31 WC4_D3.bin 236 69 Jan 22 21:29 WC4_D3.cue 237709M Jan 22 21:35 WC4_D4.bin 238 69 Jan 22 21:32 WC4_D4.cue 239692M Jan 22 21:39 WC4_D5.bin 240 69 Jan 22 21:37 WC4_D5.cue 241633M Jan 22 21:42 WC4_D6.bin 242 69 Jan 22 21:40 WC4_D6.cue 243713M Jan 22 21:56 WCPRO_D1.bin 244 71 Jan 22 21:54 WCPRO_D1.cue 245712M Jan 22 22:00 WCPRO_D2.bin 246 71 Jan 22 21:58 WCPRO_D2.cue 247582M Jan 22 22:04 WCPRO_D3.bin 248 71 Jan 22 22:02 WCPRO_D3.cue 249229M Jan 22 22:06 WCPRO_SO.bin 250 71 Jan 22 22:05 WCPRO_SO.cue 251 36M Jan 23 11:20 WINLEMM.bin 252 70 Jan 23 11:20 WINLEMM.cue 253 50M Jan 23 19:59 WOLFPACK.bin 254 71 Jan 23 19:59 WOLFPACK.cue 255761M Jan 22 20:02 WORMS1.bin 256 752 Jan 22 19:59 WORMS1.cue 257714M Jan 22 20:16 WORMS2A.bin 258 70 Jan 22 20:14 WORMS2A.cue 259716M Jan 22 20:06 WORMS2.bin 260 557 Jan 22 20:03 WORMS2.cue
CD Images
I'm sure you can guess what many of those are! The device does support long filenames with spaces, but I'm using short ones as I'm currently switching images from the commandline, and I'm less likely to make a mistake with a short name.
I haven't yet tried all of those images, but those that I have tried do work (including with CD audio). The only ones I have had issues with are the ones with copy protection. Age of Empires 2 (and it's expansion) and Carmageddon 2. The PC can read the disk fine, and will install. But the games won't start and say I need to insert the disk. Presumably a no-cd crack is required for those to work.
The fact that the volume size is fixed at about 1GB and that it requires ATAPI to do hot swap makes me think that it reports itself as an optical drive.
The fact that the volume size is fixed at about 1GB and that it requires ATAPI to do hot swap makes me think that it reports itself as an optical drive.
No, but I doubt it does. It's writable and the listing mentions it being a removal disk working like a zip drive. Those were available as both ATAPI and SCSI, along with other options like SuperDisk and Jazz.
The fact that the volume size is fixed at about 1GB and that it requires ATAPI to do hot swap makes me think that it reports itself as an optical drive.
No, but I doubt it does. It's writable and the listing mentions it being a removal disk working like a zip drive. Those were available as both ATAPI and SCSI, along with other options like SuperDisk and Jazz.
OK, makes sense. The synthesizers that the device is designed to work with accepted 1GB Jaz drives, so it probably emulates something close to that. I bet you could install Dos or Win98 on them if you had BIOS support*, but WinXP would probably throw an error during install because of "removable media".
* Or you could use it as a secondary storage device with a driver