The Usotsuki Posted February 2, 2015 Share Posted February 2, 2015 I got a weird idea that sounds like it ought to be easy enough to pull off and perhaps a good exercise in learning how to use the TMS9918. I'm thinking of porting Freeway from the 2600, but I'm not really sure where to start. Most likely it'll be FPBASIC with a machine code assist, at least initially. 1 Quote Link to comment https://forums.atariage.com/topic/234608-this-ought-to-be-easy-enoughin-theory/ Share on other sites More sharing options...
MarkO Posted February 2, 2015 Share Posted February 2, 2015 I got a weird idea that sounds like it ought to be easy enough to pull off and perhaps a good exercise in learning how to use the TMS9918. I'm thinking of porting Freeway from the 2600, but I'm not really sure where to start. Most likely it'll be FPBASIC with a machine code assist, at least initially. How are you Interfacing the TMS9918???? MarkO Quote Link to comment https://forums.atariage.com/topic/234608-this-ought-to-be-easy-enoughin-theory/#findComment-3168934 Share on other sites More sharing options...
The Usotsuki Posted February 2, 2015 Author Share Posted February 2, 2015 How are you Interfacing the TMS9918???? MarkO It's the Third Millennium Arcade Board (-sl4 arcbd in MESS). I wrote a little wedge (it's in another thread here) that gives me basic access to the TMS9918 (but not the AY-8910) through & commands - kinda like Amparcade but a bit more intuitive. Setting up graphics mode is easy enough - &GR1 - and down and dirty work can be done with commands such as &POKE, if I haven't implemented something simpler yet. 1 Quote Link to comment https://forums.atariage.com/topic/234608-this-ought-to-be-easy-enoughin-theory/#findComment-3168944 Share on other sites More sharing options...
MarkO Posted February 3, 2015 Share Posted February 3, 2015 It's the Third Millennium Arcade Board (-sl4 arcbd in MESS). I wrote a little wedge (it's in another thread here) that gives me basic access to the TMS9918 (but not the AY-8910) through & commands - kinda like Amparcade but a bit more intuitive. Setting up graphics mode is easy enough - &GR1 - and down and dirty work can be done with commands such as &POKE, if I haven't implemented something simpler yet. Ahh... MESS So it Virtual... I have been reading Apple Interfacing, ( I have a First Edition, Third Printing I bought on Amazon ), and after reading this thread, I wonder what it would be like to put a TMS9918A or TMS9928A on a Card and see what the Apple ][ can do.... MarkO Quote Link to comment https://forums.atariage.com/topic/234608-this-ought-to-be-easy-enoughin-theory/#findComment-3169061 Share on other sites More sharing options...
JamesD Posted February 3, 2015 Share Posted February 3, 2015 Ahh... MESS So it Virtual... I have been reading Apple Interfacing, ( I have a First Edition, Third Printing I bought on Amazon ), and after reading this thread, I wonder what it would be like to put a TMS9918A or TMS9928A on a Card and see what the Apple ][ can do.... MarkO The 9918 only requires 4 signals for the CPU interface in addition to data lines. It requires Read, Write, Mode and Interrupt. R/W from the 6502 is connected to Write and R/W needs passed through and inverter to generate the Read signal. A0 from the CPU has to be tied to Mode. Interrupt has to be attached to an interrupt line on the CPU. D0-D7 from the 6502 are attached to CD0-CD7 on the VDP Then you just need address decoding that sets Read, Write and Mode high unless the chip is being accessed. Too bad they didn't just use a chip select line and a R/W signal. That is the simple part if you ask me. Then the VDP needs it's own RAM, clock and video out circuit. Since the CPU interface is basically the same for the later Yamaha chips I'd go with one of those if I were to build a video card. It's only slightly more complicated than the 9918. Quote Link to comment https://forums.atariage.com/topic/234608-this-ought-to-be-easy-enoughin-theory/#findComment-3169198 Share on other sites More sharing options...
MarkO Posted February 3, 2015 Share Posted February 3, 2015 Findchips shows no Pricing for the TMS9918 or TMS9918A or TMS9928A. No Go on the Yamaha V9938 and Yamaha V9958 either.. It appears that disassembling Units will be the only way to get working Video Processors... MarkO Quote Link to comment https://forums.atariage.com/topic/234608-this-ought-to-be-easy-enoughin-theory/#findComment-3169274 Share on other sites More sharing options...
JamesD Posted February 3, 2015 Share Posted February 3, 2015 Findchips shows no Pricing for the TMS9918 or TMS9918A or TMS9928A. No Go on the Yamaha V9938 and Yamaha V9958 either.. It appears that disassembling Units will be the only way to get working Video Processors... MarkO Or you can buy them 10 at a time on ebay Quote Link to comment https://forums.atariage.com/topic/234608-this-ought-to-be-easy-enoughin-theory/#findComment-3169284 Share on other sites More sharing options...
JamesD Posted February 3, 2015 Share Posted February 3, 2015 (edited) $7 for one. http://www.ebay.com/itm/351223734553 *edit* Plus shipping Edited February 3, 2015 by JamesD 1 Quote Link to comment https://forums.atariage.com/topic/234608-this-ought-to-be-easy-enoughin-theory/#findComment-3169484 Share on other sites More sharing options...
MarkO Posted February 3, 2015 Share Posted February 3, 2015 $7 for one. http://www.ebay.com/itm/351223734553 *edit* Plus shipping You Rock!!!! But...... Free Shipping!!!! MarkO Quote Link to comment https://forums.atariage.com/topic/234608-this-ought-to-be-easy-enoughin-theory/#findComment-3169641 Share on other sites More sharing options...
JamesD Posted February 3, 2015 Share Posted February 3, 2015 I didn't look... just figured I should point that out. I think I already bought one from that seller. It takes a while to get it (Hong Kong) but you should get it. Quote Link to comment https://forums.atariage.com/topic/234608-this-ought-to-be-easy-enoughin-theory/#findComment-3169657 Share on other sites More sharing options...
MarkO Posted February 3, 2015 Share Posted February 3, 2015 I didn't look... just figured I should point that out. I think I already bought one from that seller. It takes a while to get it (Hong Kong) but you should get it. What sort of RAM did you connect it to??? MarkO Quote Link to comment https://forums.atariage.com/topic/234608-this-ought-to-be-easy-enoughin-theory/#findComment-3169671 Share on other sites More sharing options...
JamesD Posted February 3, 2015 Share Posted February 3, 2015 What sort of RAM did you connect it to??? MarkO The project burned in a fire before I got that far. I was actually going to use a large SRAM and latch some of the address lines using the RAS signal from the chip. I was going to use the select between banks of RAM as just another address line. It's cheaper to buy the 1 large SRAM and simpler to design a board than for a bunch of old RAM chips. A couple other items from that project: Sockets: http://www.ebay.com/itm/360646672229 Sound chip: http://www.ebay.com/itm/321234170354 Companion D/A converter for the sound chip: http://www.ebay.com/itm/371080942144 That was actually going to be a Z180 based machine but the same parts could be used to make an arcade board clone with enhanced capabilities. Quote Link to comment https://forums.atariage.com/topic/234608-this-ought-to-be-easy-enoughin-theory/#findComment-3169673 Share on other sites More sharing options...
The Usotsuki Posted February 3, 2015 Author Share Posted February 3, 2015 Anywho, I found a disassembly of Freeway that claims to have been done by Burger Becky, but I can't understand it - and most of the code is prolly managing the hardware rather than handling the gameplay? Quote Link to comment https://forums.atariage.com/topic/234608-this-ought-to-be-easy-enoughin-theory/#findComment-3169708 Share on other sites More sharing options...
JamesD Posted February 3, 2015 Share Posted February 3, 2015 Given how the 2600 works it does not surprise me at all. Quote Link to comment https://forums.atariage.com/topic/234608-this-ought-to-be-easy-enoughin-theory/#findComment-3169752 Share on other sites More sharing options...
The Usotsuki Posted February 4, 2015 Author Share Posted February 4, 2015 I don't even know where to start to go from here. I'm not targetting the TI-99/4A, the ColecoVision, the CreatiVision or the MSX, but people who dev for those platforms would be much more familiar with what I'm trying to do and might be able to point me in the right direction. Quote Link to comment https://forums.atariage.com/topic/234608-this-ought-to-be-easy-enoughin-theory/#findComment-3170529 Share on other sites More sharing options...
JamesD Posted February 5, 2015 Share Posted February 5, 2015 What sort of RAM did you connect it to??? MarkO You might talk to these guys: http://www.primrosebank.net/computers/mtx/projects/mtxplus/video/mtxplus_vdp.htm Quote Link to comment https://forums.atariage.com/topic/234608-this-ought-to-be-easy-enoughin-theory/#findComment-3170666 Share on other sites More sharing options...
JamesD Posted February 5, 2015 Share Posted February 5, 2015 I don't even know where to start to go from here. I'm not targetting the TI-99/4A, the ColecoVision, the CreatiVision or the MSX, but people who dev for those platforms would be much more familiar with what I'm trying to do and might be able to point me in the right direction. Check the MSX forums at http://www.msx.org/ Quote Link to comment https://forums.atariage.com/topic/234608-this-ought-to-be-easy-enoughin-theory/#findComment-3170667 Share on other sites More sharing options...
The Usotsuki Posted February 5, 2015 Author Share Posted February 5, 2015 I signed up, but I hadn't gotten the nerve to ask there since it's kind-of OT despite the same VDP and PSG. Quote Link to comment https://forums.atariage.com/topic/234608-this-ought-to-be-easy-enoughin-theory/#findComment-3170789 Share on other sites More sharing options...
The Usotsuki Posted February 5, 2015 Author Share Posted February 5, 2015 (edited) I think I finally figured it out and part of the problem was I was looking at the memory map for the wrong mode. I have to load the sprite chargen at $0000 (so &LOAD 0,24576,26624, since I already have a font there from before), then start poking in attributes at $1000 (so &POKE 4096,0: &POKE 4097,0: &POKE 4098,0: &POKE 4099,3). So I do this: FOR I=0 TO 255: &POKE 4097, I: NEXT and a green block zooms across the screen. That's definitely a start. Edited February 5, 2015 by The Usotsuki 2 Quote Link to comment https://forums.atariage.com/topic/234608-this-ought-to-be-easy-enoughin-theory/#findComment-3170905 Share on other sites More sharing options...
carlsson Posted February 5, 2015 Share Posted February 5, 2015 (edited) Perhaps you should try to develop for the CreatiVision to start with, then back-port your work to the Apple ][ with expansion? Of course the way the VDP is accessed from the CPU might differ, but at least you got the 6502, the VDP and a different sound chip (the SN76489 rather than AY-3-8910) in the VTech machine. I took my first dev steps on this system last year, and despite I'm far and oceans away from being fully trained - so far I have only touched one text mode and barely any sprites - it was reasonably easy to get something going on screen. I seems you have too, from Apple BASIC in this case. I wonder if you have to worry about blanking intervals and other stuff, if you run the VDP on an expansion card at least there should not be any system BIOS in the way that keeps refreshing the screen. Also as long as you stick with BASIC, it will be slow enough to never worry about overrunning the VDP with calls. Also there should be a way to set up status registers and configure the memory map on the VDP. Many of the systems using it will either have OUT (Z80) or POKE (6502) to a certain memory address that works like an I/O port, but it seems you have the ability to @POKE directly to the VDP RAM. Edited February 5, 2015 by carlsson Quote Link to comment https://forums.atariage.com/topic/234608-this-ought-to-be-easy-enoughin-theory/#findComment-3170980 Share on other sites More sharing options...
The Usotsuki Posted February 5, 2015 Author Share Posted February 5, 2015 Perhaps. Regarding "POKE", that's actually a trick of BASIC: the "TMS" program on the disk images I've uploaded has an &POKE command that does the dirty work. (The "goomba" demo in the other thread shows an example of actually writing to the port instead of indirecting it through the & parser.) Quote Link to comment https://forums.atariage.com/topic/234608-this-ought-to-be-easy-enoughin-theory/#findComment-3171026 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.