shieladixon / RC2014-TMS9918A

MIT License
14 stars 0 forks source link

Are the sources available? #1

Open rampa069 opened 7 months ago

rampa069 commented 7 months ago

Are the sources published? I have two problems with the binaries published.

Mi rc2014 (fpga based) has the AY and the keyboard PPI on the MSX ports. (A0-A1 for AY and A9-AB for PPI)

What assembler yo you use?

shieladixon commented 7 months ago

Yes, in that a lot of this comes from J B Langston's repository for TMS9918A. The reason that I provided the built examples for the classic and CPM configurations is that I had a lot of trouble building those examples for various reasons and having solved some of the problems I wanted to save others the same pain. For Mazogs and 3DMM I used Paul Farrow's disassembly. For anything like that where you want keyboard input then it's a bit more than a port change because you'll have to add PPI keyboard scanning rather than reading the serial module. If there's anything specific that is just a port change, just let me know and I'll provide a build. I use zasm which isn't the most popular assembler. I also have had problems with open-source and tend not to do that. Your RC2014 sounds more like MSX. Are you using the MSX bios / memory slot switching? ie can you run software built for MSX?

rampa069 commented 7 months ago

It is a rc2014. the machine is running on a FPGA, but also using external peripherals attached to the rc80 bus.

At boot, i can choose between vt105 terminal (conected to an acia) or TMS

boot rc2014 tms2014 mazogs

ezod commented 3 months ago

SC2VIEW.COM gives me TMS9918A not found, aborting!, I assume because it's not on the expected port(s). My RC2014 is configured like a ColecoVision, so the TMS is on B0-BF and the AY is on 50-52 (in normal/MSX/CV addressing mode). Any chance of making your binaries support that, and/or providing sources?

shieladixon commented 3 months ago

Hello Aaron

You're right, it's not finding the TMS on any of the ports it's probing. The trouble is that it's not probing Bx.

When I had my first TMS module it took me months to get it working and one of the problems was in the software - J B Langston's library includes BE in the ports list, in fact that's first. On a cpm machine (which is my preference) that port is used for rom/ram paging and so the probe crashes the machine. So my built binaries don't include that one in the ports list and I encourage the use of MSX ports $98/99 - then my .com binaries will run on both cpm and romwbw machines.

I've attached my source file for sc2view (for you only, it's not intended for publication or distribution, I'd tidy it up a bit if I was going to make it available.)

The part to display the image is very simple. Most of it is parsing the passed filename and loading the image.

You'll see that it includes tms.asm and utility.asm. If you use those files from J B Langston's repository, the resulting program should probe port $be first and find your tms.

If you have trouble building that, let me know and I'll build a version that includes that port in the ports list.

Shiela

On 29 May 2024, at 23:34, Aaron Mavrinac @.***> wrote:

SC2VIEW.COM gives me TMS9918A not found, aborting!, I assume because it's not on the expected port(s). My RC2014 is configured like a ColecoVision, so the TMS is on B0-BF and the AY is on 50-52 (in normal/MSX/CV addressing mode). Any chance of making your binaries support that, and/or providing sources?

— Reply to this email directly, view it on GitHub https://github.com/shieladixon/RC2014-TMS9918A/issues/1#issuecomment-2138365974, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABYNM73Q2OIYWWIBOLUNEKDZEZJVVAVCNFSM6AAAAABDBXPZSKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMZYGM3DKOJXGQ. You are receiving this because you commented.

ezod commented 3 months ago

Thanks for the quick reply @shieladixon - unfortunately, it looks like the attachment didn't come through in the GitHub comment or via email. You could send it directly via email (my last name at gmail dot com), for which I'd be grateful!

Regarding the port conflict issue, I'm also using stock CP/M with the standard Pageable ROM module, but I am interested in running unmodified ColecoVision binaries, so here's my hacky workaround in case you're interested:

https://github.com/jblang/TMS9918A/issues/12

Pax-nl commented 2 months ago

@shieladixon I have a "YM2149F/AY-3-8190 Sound card for the RC2014 computer - Revision 6.1" with AY-3-8190, and jumpers set to MSX, does nyan.com should have give me some tunes?

Or any of your other .com files, I'm only getting tunes when using: https://github.com/feilipu/RC2014-YM2149/tree/master with REV5 set to 0.

shieladixon commented 2 months ago

The nyan demo (and the other demos built for RC2014) will give sound if you're using a sound card on 'RC2014' ports, D8 and D0. For this you'll need a R5 card and see the documentation for the jumper settings.

It's unfortunate that the R5 card can be jumpered to RC2014 ports, but not MSX, and the R6 card vice versa.

For this reason I've been meaning to add sound card port detection to those programs and rebuild them. Or build alternative versions which are configured to use the sound card on MSX ports.

If you're feeling brave you could reconfigure and rebuild the nyan demo from the source (JBL's repository) but that's no easy task, which is why I have a repository of binaries already built for RC2014 cpm and classic.

Shiela

On 27 Jun 2024, at 21:08, Pax-NL @.***> wrote:

@shieladixon https://github.com/shieladixon I have a "YM2149F/AY-3-8190 Sound card for the RC2014 computer - Revision 6.1" with AY-3-8190, and jumpers set to MSX, does nyan.com should have give me some tunes?

Or any of your other .com files, I'm only getting tunes when using: https://github.com/feilipu/RC2014-YM2149/tree/master with REV5 set to 0.

— Reply to this email directly, view it on GitHub https://github.com/shieladixon/RC2014-TMS9918A/issues/1#issuecomment-2195586185, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABYNM7YK52LUUVA53CZJ33DZJRWNDAVCNFSM6AAAAABDBXPZSKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOJVGU4DMMJYGU. You are receiving this because you were mentioned.

Pax-nl commented 2 months ago

Ah that explains my issues. Thank you for your reply..

I go for the brave option :-)

shieladixon commented 2 months ago

Excellent!

The ports are defined in pt3.asm

There's a definition at the top for system, and I notice that the 'WBW' option defines ports as $68 and $60.

However, rather than change those port definitions, I notice that there's an MSX option. I didn't try that but that might be the best option.

I seem to remember that the demo uses (in nyan.asm) a timer which is present in ROMWBW but not cpm/Pro. I had to do a bit of rewriting there so it polled the TMS status register instead.

Good luck.

On 27 Jun 2024, at 22:44, Pax-NL @.***> wrote:

Ah that explains my issues. Thank you for your reply..

I go for the brave option :-)

— Reply to this email directly, view it on GitHub https://github.com/shieladixon/RC2014-TMS9918A/issues/1#issuecomment-2195710998, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABYNM74AAGYMJL2A7IYYCBTZJSBVPAVCNFSM6AAAAABDBXPZSKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOJVG4YTAOJZHA. You are receiving this because you were mentioned.

Pax-nl commented 2 months ago

I’m new to RC2014 and Z80 programming and need some help starting.

I read you do not like to publish your sources, and for good reasons.

Therefore I created an email adress: fora.virtueel0p @ icloud.com (remove the spaces) and I’m hoping you could send me the code where you changed the Timer to read TMS status register, which a very elegant solution I may add.

If not that is ok too. I’m reading some threads on Google Groups, hopefully the is something useful there.