+acadiel Posted May 23, 2018 Share Posted May 23, 2018 Looks like someone’s working on one with parts of Speccery’s core... http://www.atari-forum.com/viewtopic.php?f=117&t=33684#p345088 4 Quote Link to comment Share on other sites More sharing options...
Shift838 Posted May 23, 2018 Share Posted May 23, 2018 I saw this a few days ago too and was intrigued. I would like to see it, i have a MiST. Quote Link to comment Share on other sites More sharing options...
greyrogue Posted May 23, 2018 Share Posted May 23, 2018 I'm the person who ported it. I mentioned it in Speccery's "TI-99/4A with a Pipistrello FPGA board" http://atariage.com/forums/topic/255855-ti-994a-with-a-pipistrello-fpga-board/?view=getnewpost thread a week or so ago. It's for the MiSTer, though not the MiST. It should be relatively easy to do for MiST, but I don't have one. Speccery said in that thread he might port it himself, but if anyone wants to try, I'd be happy to answer questions if I can help. I did make a couple of improvements. I added instruction cycle counting so games run at close to correct speed (can be turned off with Turbo setting), and I fixed some audio distortion from overflow issues. 4 Quote Link to comment Share on other sites More sharing options...
Shift838 Posted May 23, 2018 Share Posted May 23, 2018 I'm the person who ported it. I mentioned it in Speccery's "TI-99/4A with a Pipistrello FPGA board" http://atariage.com/forums/topic/255855-ti-994a-with-a-pipistrello-fpga-board/?view=getnewpost thread a week or so ago. It's for the MiSTer, though not the MiST. It should be relatively easy to do for MiST, but I don't have one. Speccery said in that thread he might port it himself, but if anyone wants to try, I'd be happy to answer questions if I can help. I did make a couple of improvements. I added instruction cycle counting so games run at close to correct speed (can be turned off with Turbo setting), and I fixed some audio distortion from overflow issues. Did you just port the 99/4A console to MiSTer or did you port other hardware for it such as 32k, Floppy Disk controller, etc ? Quote Link to comment Share on other sites More sharing options...
greyrogue Posted May 23, 2018 Share Posted May 23, 2018 I ported Speccery's project, so it has 64k expansion RAM (Speccery has 256k). I'm only using 256k of Altsyncram, so I could easily double that and the Cart Rom max to 128k each. I didn't want to require the optional SDRAM board, but if using that there's plenty of room for larger Cart Roms and more expansion RAM. I think it's possible to make an option to choose which one to use. The layout for DSRs is already in place, and I can probably import an existing disk drive implementation, but I'm currently working on something else. I was trying to play Parsec, but the game is too confusing without a female Texan narrating and advising, so I thought I'd try to do something about that first. I've only started teaching myself Fpga programming a few weeks ago, so no guarantees. 3 Quote Link to comment Share on other sites More sharing options...
speccery Posted May 28, 2018 Share Posted May 28, 2018 I do now have the MIST system, and I have ported the CPU to the Altera toolchain, so I will probably make a port for the MIST myself. The code is open source so obviously this available for anyone... 1 Quote Link to comment Share on other sites More sharing options...
seastalker Posted July 6, 2018 Share Posted July 6, 2018 Greetings! This is exciting news! Congrats on the FPGA core creation. I just got into messing with the TI99 and you can pick them up inexpensively. I like their sleek look and keyboard feel. I got into them BECAUSE of the absence of a MiST FPGA core. I'd love to see this get developed. Even if like some Beatles records where mono mixes were the main project and stereo the afterthought at the time, Mister projects with more headroom can always be ported for systems that still fit on the MiST. Interestingly some YT video comments also talk about porting this to the ZX Next too. Any updates on the MisT port? Quote Link to comment Share on other sites More sharing options...
seastalker Posted July 12, 2018 Share Posted July 12, 2018 Is this project still going, be it Mist or Mister? Quote Link to comment Share on other sites More sharing options...
seastalker Posted July 15, 2018 Share Posted July 15, 2018 Still hoping to push this in the right direction. I did see these links: https://hackaday.io/project/20826-tms9900-compatible-cpu-core-in-vhdl/log/67326-success-fpga-based-ti-994a-working and: https://github.com/Speccery/EP994A -the latter is the mentioned Speccery page. Quote Link to comment Share on other sites More sharing options...
greyrogue Posted May 19, 2020 Share Posted May 19, 2020 On 5/23/2018 at 12:55 PM, greyrogue said: I was trying to play Parsec, but the game is too confusing without a female Texan narrating and advising, so I thought I'd try to do something about that first. I've only started teaching myself Fpga programming a few weeks ago, so no guarantees. Two years later, but I took darfpga's LPC vhdl code and hooked up some extra code for the TMS5200 and added speech ROM code. Parsec is finally now less confusing on my MiSTer port of speccery's core. To try for yourself, just add the speech ROMs to your file to load and switch the speech OSD option to 5200. "Press fire to begin." 7 Quote Link to comment Share on other sites More sharing options...
speccery Posted May 19, 2020 Share Posted May 19, 2020 4 hours ago, greyrogue said: Two years later, but I took darfpga's LPC vhdl code and hooked up some extra code for the TMS5200 and added speech ROM code. Parsec is finally now less confusing on my MiSTer port of speccery's core. To try for yourself, just add the speech ROMs to your file to load and switch the speech OSD option to 5200. "Press fire to begin." Nice! I should take a look at this too. I have acquired the parts for a MiSTer build - gosh I don't even remember when, I guess it was last year - but haven't gotten around putting this together. I guess it would be about time. In the meantime I have ported the code base to Verilog and I have cleaned up the design a little, I have now had a pause in the development but I was using three different boards for testing. One Xilinx boards and two Lattice ECP5 boards. On Xilinx I used ISE 14.7 but on the ECP5 boards the open source Icestrom toolchain. 4 Quote Link to comment Share on other sites More sharing options...
tmop69 Posted May 19, 2020 Share Posted May 19, 2020 9 hours ago, greyrogue said: Two years later, but I took darfpga's LPC vhdl code and hooked up some extra code for the TMS5200 and added speech ROM code. Parsec is finally now less confusing on my MiSTer port of speccery's core. To try for yourself, just add the speech ROMs to your file to load and switch the speech OSD option to 5200. "Press fire to begin." Many thanks for adding the speech to your already great port of the TI99 core to MiSTer! Not tested yet, but I've watched a video with Alpiner and it seems really nice. ? One technical question/curiosity: is this darfpga's LPC vhdl code more accurate than the software implementations of the speech chip available in emulators like MESS? Again, many thanks for the work done with this core on MiSTer, I really appreciated it. Quote Link to comment Share on other sites More sharing options...
ti99iuc Posted May 19, 2020 Share Posted May 19, 2020 (edited) 10 hours ago, greyrogue said: --- Wow! thanks for this update! ? I still haven't a Mister system because i am not interested in emulate the world but only a good and featured version of TI-99/4A. if a daythis will be completed as a fully working system with also disk support, well, at least i will seriously think to purchase a Mister at all. can i hope it could be possible in future Greyrogue? for the moment i just enjoyed some demontrating videos on YT and i can say that the speech emulation seems to be at a really good level. ? impressive result! On some emulators for windows OS, i still have glitches problems with audio speech, for this i am also curious to know more about your speech for Mister version please Edited May 19, 2020 by ti99iuc 1 Quote Link to comment Share on other sites More sharing options...
greyrogue Posted May 19, 2020 Share Posted May 19, 2020 10 hours ago, tmop69 said: One technical question/curiosity: is this darfpga's LPC vhdl code more accurate than the software implementations of the speech chip available in emulators like MESS? The LPC code is based off MAME's source, so I don't expect it to be any better. It's what translates the lpc data to audio samples. It could be rewritten based on the patents or decaps, but I didn't do that. The parts I added were based mainly on this: http://www.unige.ch/medecine/nouspikel/ti99/speech.htm Some of my code could be improved as well. The reset command, for example, needs work. 3 Quote Link to comment Share on other sites More sharing options...
tmop69 Posted May 20, 2020 Share Posted May 20, 2020 10 hours ago, greyrogue said: The LPC code is based off MAME's source, so I don't expect it to be any better. It's what translates the lpc data to audio samples. It could be rewritten based on the patents or decaps, but I didn't do that. The parts I added were based mainly on this: http://www.unige.ch/medecine/nouspikel/ti99/speech.htm Some of my code could be improved as well. The reset command, for example, needs work. Greyrogue, many thanks for the clarification, really interesting. I'll surely test the Speech during the weekend, however a friend of mine already tested it yesterday and the feedback is that it's really excellent! ? I have now another question. I've seen in the change log that the new framework support was added. Does it means that there is now support for features like the audio input for reading cassette tapes? Unfortunately, I cannot check it directly, since I do not have the add on board with the audio jack. Once again, thanks for this improvement, since it means also that the core is still supported. ? May I ask what you plan to add to it in the future? I remember that for the disk there are some problems, related to missing information. Where you able to find them? Quote Link to comment Share on other sites More sharing options...
tmop69 Posted May 23, 2020 Share Posted May 23, 2020 I've just tried the new TI99 core and the speech is working fine! ? The result it's similar to MESS, but this is expected as clarified in previous posts. During the setup of the TI99 core to test the speech I've noticed one thing, that I would like to ask to the experts in the forum. I've tested the speech with Alpiner, Parsec and Big Foot. It seems that Parsec and Alpiner do not need the 32K ROM contained in the speech synthesizer to speak correctly, while Big Foot needs it in order to speak any word. I've double checked and I do not have the 32K spchrom.bin content in any place in the TI99 directory (and it's not embedded in .rbf file for the core). So, what is exactly contained in the 32K ROM in the speech synt? Just vocabulary data or there are also code routines? Quote Link to comment Share on other sites More sharing options...
+mizapf Posted May 23, 2020 Share Posted May 23, 2020 Just plain speech data. You can run the TMS5200 without vocabulary ROM if you only use SPEAK EXTERNAL commands. 1 Quote Link to comment Share on other sites More sharing options...
Tursi Posted May 23, 2020 Share Posted May 23, 2020 Like Mizapf says... the speech ROM contains a list of words and the speech data to say them -- anything you can say in Extended BASIC with "CALL SAY" comes from there. Every other word the synthesizer says comes from whatever software is driving it. Although it's a "speech" synthesizer, at the lower level it's really just an audio decompression engine. Think a really primitive MP3 player. "Speech" data is just audio compressed to fit a mathematical model, and then played back in real time by the hardware. However, there are heavy limits on the mathematical model, with the net result being that it's best at simple speech. (And in turn, that was on purpose because they designed it specifically for speech.) 1 2 Quote Link to comment Share on other sites More sharing options...
+mizapf Posted May 23, 2020 Share Posted May 23, 2020 Just as a minor detail, the speech data are arranged as a binary search tree. This is the reason why you see MORE at the start of the speech ROM, with MORE being the root of the tree. Format of an entry (see Editor/Assembler manual, section 22.2.2): uint8 length; char* word; uint16 previous; uint16 next; uint24 address; uint8 datalength; 00000000: aa04 4d4f 5245 04b6 0eb5 0046 4251 012d ..MORE.....FBQ.- 00000010: 09a8 0018 0048 dc7d 012e 0000 0022 0050 .....H.}.....".P 00000020: ec5c 0130 0000 0000 0013 c346 0131 000e .\.0.......F.1.. 00000030: 004a 0014 0953 0132 0000 0040 0014 5c3e .J...S.2...@..\> 00000040: 0133 0000 0000 0014 9a4d 0134 0036 0054 .3.......M.4.6.T 00000050: 0014 e74a 0135 0000 005e 0015 3177 0136 ...J.5...^..1w.6 00000060: 0000 0000 0015 a840 0137 002c 00a9 0015 .......@.7.,.... 00000070: e84f 0138 0000 007c 0016 372d 0139 0000 .O.8...|..7-.9.. 00000080: 0000 0016 6480 0141 0072 0090 0016 e41c ....d..A.r...... 00000090: 0241 3100 0000 9b00 1700 1405 4142 4f55 .A1.........ABOU 000000a0: 5400 0000 0000 1714 5505 4146 5445 5200 T.......U.AFTER. 000000b0: 8600 d100 1769 3c05 4147 4149 4e00 0000 .....i<.AGAIN... 000000c0: c500 17a5 6203 414c 4c00 0000 0000 1807 ....b.ALL....... 000000d0: 2902 414d 00b7 00dc 0018 3046 0241 4e00 ).AM......0F.AN. 000000e0: 0000 e700 1876 3603 414e 4400 0000 0000 .....v6.AND..... 000000f0: 18ac 6706 414e 5357 4552 0068 017e 0019 ..g.ANSWER.h.~.. 00000100: 134f 0341 4e59 0000 0000 0019 6245 0341 .O.ANY......bE.A 00000110: 5245 0102 011a 0055 6e32 0241 5300 0001 RE.....Un2.AS... 00000120: 2500 19a7 4106 4153 5355 4d45 0000 0000 %...A.ASSUME.... 00000130: 0019 e83d 0241 5401 0e01 5600 1a25 1d01 ...=.AT...V..%.. 1 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.