Jump to content
FarmerPotato

What if? Designing "Geneve 2020". Cool 3D views!

Recommended Posts

14 minutes ago, Nick99 said:

Is it kit-able only, or will you offer assembled boards too? 

Way too early to say. I expect it’s both.

  • Like 3

Share this post


Link to post
Share on other sites

i can see quite a few users (including me) wanting to jump on one or even 2 of these!

Share this post


Link to post
Share on other sites
Posted (edited)

Yep, I'll be watching like a hawk how this develops. :D

 

Ok my thoughts, questions, prayers, mindless babblings...

 

Probably stupid questions:

- How backwards compatible will it be with the standard 99/4a? I've never seen a Geneve and have no idea how compatible it was, personally my interests center around the original 4a, particularly Basic, X-Basic and cartridge software. I get the impression it's going to be but I thought I'd ask. 

- Will it be speed adjustable? In other words, can you speed up or slow down the performance to accommodate software that either runs best at a normal 4a speed or would benefit from significant speed increases?

- What will the default boot be like? Will one have a chance to pick TI basic? Would it be possible to also have XB or one of the improved XB versions, editor assembler or all three be selections?

- Will I be able to install the F18 VGA chip in it? I have the older version I bought a while back but haven't installed yet. 

- Any ballpark guesses on the price? Over/under $200?

 

Other thoughts:

- LOVE the idea of it being modular, that'll make any possible future hardware corrections/improvements much easier to implement without having to start completely over. Perhaps what seems impractical now someone will later find a clever way to make it work after all or discover a cheaper substitute for an otherwise expensive part? Etc. I have nothing specific in mind, I'm just a guy who loves keeping as many options open as possible! 

- I like the idea of this being a stand alone console, the PE is kind of a beast and at least for me desk space is at a premium, not to mention most of what I'd need a PE for is going to be built into this anyway. It is a great idea to keep the cartridge and expansion port though regardless, again, flexibility.

Personally I want to set it up on my computer desk and have it loaded up with pretty much every program in existence, so I'll never have to touch it other than the keyboard and power switch. Want to play Tunnels of Doom? Go to the right menu and run it. Want to play Cavern Quest in XB? Go to the right menu and run, etc, and not have to fumble with a gazillion cassettes, disks and cartridges.  

Edited by Tornadoboy

Share this post


Link to post
Share on other sites
6 hours ago, Tornadoboy said:

Yep, I'll be watching like a hawk how this develops. :D

 

Ok my thoughts, questions, prayers, mindless babblings...

 

Probably stupid questions:

- How backwards compatible will it be with the standard 99/4a? I've never seen a Geneve and have no idea how compatible it was, personally my interests center around the original 4a, particularly Basic, X-Basic and cartridge software. I get the impression it's going to be but I thought I'd ask. 

- Will it be speed adjustable? In other words, can you speed up or slow down the performance to accommodate software that either runs best at a normal 4a speed or would benefit from significant speed increases?

- What will the default boot be like? Will one have a chance to pick TI basic? Would it be possible to also have XB or one of the improved XB versions, editor assembler or all three be selections?

- Will I be able to install the F18 VGA chip in it? I have the older version I bought a while back but haven't installed yet. 

- Any ballpark guesses on the price? Over/under $200?

 

Other thoughts:

- LOVE the idea of it being modular, that'll make any possible future hardware corrections/improvements much easier to implement without having to start completely over. Perhaps what seems impractical now someone will later find a clever way to make it work after all or discover a cheaper substitute for an otherwise expensive part? Etc. I have nothing specific in mind, I'm just a guy who loves keeping as many options open as possible! 

- I like the idea of this being a stand alone console, the PE is kind of a beast and at least for me desk space is at a premium, not to mention most of what I'd need a PE for is going to be built into this anyway. It is a great idea to keep the cartridge and expansion port though regardless, again, flexibility.

Personally I want to set it up on my computer desk and have it loaded up with pretty much every program in existence, so I'll never have to touch it other than the keyboard and power switch. Want to play Tunnels of Doom? Go to the right menu and run it. Want to play Cavern Quest in XB? Go to the right menu and run, etc, and not have to fumble with a gazillion cassettes, disks and cartridges.  

 
 Hi Tornadoboy,
 
 Not stupid questions.. I'm looking for feedback on what features people want more.

It will boot to MDOS.. unless somebody writes a FORTH boot (heh heh). You can make an autoexec file that says GPL and this will open the 99/4A title screen. All the cartridge options you mention are probably doable in software.
 
 My goal is 100% compatible, even more compatible with 99/4A software than the Geneve was. The Geneve made your peripherals obsolete unless MDOS included a driver. I would hope to support all the existing Pbox cards in GPL mode by getting that 100% compatibility.  There will be more problems to solve. 


Getting the speed to match the 99/4A for time-sensitive (games) software is tricky. However, because of the way the 3rd gen cpu TMS99105 operates, together with the FPGA, it will be possible to make a lookup table to tune every instruction or memory access to match the 4A. The Geneve just had 5 speeds.
 
 
 I drew the video card to have a simple connector. All the signals the F18A needs (and more) are on that connector, so it would be easy to make a board to hold the F18A. (really, a beginner could do it with Kicad.)


 In fact, the F18A would be the best option. I want to finish 9958 support, but, compatible monitors are hard to find. I do have a hare-brained scheme for upscaling the 9958 to HDMI but it is raving bonkers.

 

No idea on price. I just got a quote on the CPU less than a week ago, which seemed like a green light.
 
 I'm glad you like the standalone aspect, however, someone is going to want their disk drives or Horizon RAMdisk to work, so I'm reserving space for a PBox interface (new card, not the flex cable.) But you're right that most of what you need will be in the console. If SD card storage is good enough, you won't need any other drives.
 
 I want to hear ideas on how to leave expansion possibilities open. A TIPI connector is one. I think TheBF would prefer to see a new 16-bit bus. Bringing back Hexbus might not be a bad idea.
 
 I'm concerned with how to add Internet still. I hope to talk to jedimatt42 at some point about how the TIPI could work here. Another option is an ESP8266. However, people are writing software for TIPI and that's terrific.
 

  • Like 2

Share this post


Link to post
Share on other sites


Craziest idea of all

 

First the non-crazy:

 

So I have a working hardware for an 8-bit bus multiplexer. It's called IceTea. It plugs into the 4A side port, interfaces the 4A to an FPGA board, while minimizing the number of FPGA pins to 15.

 

I drew the reverse of IceTea to be the Geneve2020 PBox/cartridge interface. Instead of responding as a device, it controls the bus. 
This will be part of the Slow Bus: an 8-bit data path to VDP, Speech, cartridge, side port. Separate from the CPU's and RAM 16-bit data bus.


This can drive the Pbox. In MDOS mode, the interface card (Flex replacement) would transmit the expected Geneve 9640 signalling to the Pbox. That uses 3 extra address lines and a 2nd Gen CPU signal, DMA transfers, good stuff. That would be ok for GPL mode too, staying the way MDOS does things. But MDOS limits you to drivers built-in to MDOS. Since there is no Geneve 9640 actually IN the Pbox, I thought why not write a true 4A compatibility mode when GPL is running? Then you could use any card you happen to have. Maybe even P-code!

 

(Definitions: MDOS is the native OS of the Geneve 9640. GPL is the familiar 4A environment you launch from MDOS. It reconfigures the memory to look like a 4A but the DSR page only points at MDOS drivers, not your original cards' ROMs.)

 

OK, that's the non crazy down-to-earth stuff.

 

Here's where the crazy starts:

 

What if you could have both a Geneve 2020 and a Geneve 9640 meeting up in the same PBox?

 

They both have a DMA interface. This is where a peripheral requests that the CPU go into a holding state while the peripheral uses the memory bus. When the CPU grants the request, the peripheral uses the memory bus for a while, then returns control. On the 990 this is useful for disk controllers to read or write sectors of data from RAM without going through the CPU.

 

So, imagine the Geneve 2020 and 9640 are hooked up to your PBox. You run a program on the 9640 and save some files to the disk there. Then you request to open the same file on the 2020. It requests access to the PBox, waits for the 9640 to grant it, then runs the disk drive for a little while to get the file.

 

Here's another scenario. You compile MDOS on the super-fast Geneve2020. Then you copy the resulting SYSTEM/SYS to your hard disk in the Pbox. While you are doing that, the Geneve 9640 is in a hold state. When you finish the copy, the Geneve 9640 wakes up and you reboot it with the new MDOS. Then you find out that you trashed the hard disk. C'est la vie. I told you this was crazy stuff!
 

  • Like 3

Share this post


Link to post
Share on other sites


Now for crazy bonkers idea #2 for today:

 

The 9938 and 9958 VDPs output 15kHz RGB video. This is unfortunate because 15kHz monitors are increasingly rare. You need 25MHz or better VGA output to sync up with common monitors.

 

You could use an upscaler and hope for the best, but these are expensive. Upscaler kits are out there for arcade RGB video, but even those are scarce.
Chips that do this conversion are a really hard problem too.

 

So, the 9958 has this feature called a color bus that outputs the pixel data while the video RGB signal is being emitted.

 

I thought of taking the H and V sync signals and the color bus into the FPGA. There would be a frame buffer there to store all the pixels. Then, a VGA driver would output the corresponding image!

 

This would not work for twin 9958s in superimpose mode. At least, the V9958 manual indicates that the color bus is inactive when superimposing. I don't see why the FPGA couldn't reimplement superimpose mode from two synchronized color buses, though.

 

Another issue is that the color bus outputs color numbers, not the final RGB values. If you have set the palette registers, the FPGA needs to know about that.

 

Fortunately it acts as the traffic director to the VDP anyway, so, it can remember all the writes to the palette registers.

 

Another issue is memory. There is not room inside the FPGA for a whole frame buffer. It would need to share RAM.

 

In the real world, this problem is solved by Karl Guttag's dual-port VRAM, which is a video chip DRAM with an extra port that outputs 1 row of pixels when requested. The chip that makes the video signals will pull a row of pixels out. It sends that to the screen, by which time the next row is loaded in, and so on. The CPU never notices.

 

To do video, the FPGA would need to steal external RAM cycles.  The external RAM can spit back data at 50MBits/s. So the time to read back 256 8-bit pixels is 128*20=2560 ns. The 99105 memory cycle is 183 ns, so clearly this is going to clobber CPU performance when it occurs. However, a lot of 20ns memory cycles can be hidden in between CPU memory accesses!  A line needs to be loaded up every 31 us (microseconds), which is 186 CPU cycles. Among those cycles, we need to hide 128 reads from RAM. It's likely this doesn't disturb the CPU at all.

 

http://tinyvga.com/vga-timing/[email protected]

 

This is way more than I intended to tackle. Just plug in a F18A when it's ready! But I thought exploring the idea was interesting.

 

 

  • Like 2

Share this post


Link to post
Share on other sites
Posted (edited)
1 hour ago, FarmerPotato said:


Now for crazy bonkers idea #2 for today:

 

The 9938 and 9958 VDPs output 15kHz RGB video. This is unfortunate because 15kHz monitors are increasingly rare. You need 25MHz or better VGA output to sync up with common monitors.

 

I can see that being handy if someone wanted to use the Geneve 2020 as a coin operated arcade game platform! :D 

I've had fantasies of hooking up a 4a in a arcade cabinet with Microsurgeon and having it play on an Exidy Max-A-Flex like coin timer, I've always wanted to play Microsurgeon with Robotron-like controls! Personally I wouldn't waste my Geneve 2020 for that particular game, but for others who want to make games from scratch it would just be a matter of the monitor, connecting the controls to the joysticks and the coin switches to keys of the keyboard, so if it's not too much of a headache you might want to have it still be able to output that type of RGB if one wants it to. 

Edited by Tornadoboy

Share this post


Link to post
Share on other sites

A few thoughts as I inhale my lunch...

 

TI compatibility for the Geneve often boils down to software incompatibility (direct keyboard scanning and cartridge banking beyond the type used for XB carts, wrongly set video regs, etc) and the low level peripheral support.  Fortunately for the latter, TIMODE and rompage allow for accessing the cards just like they are in a TI system with some exceptions, such as GROM conflicts or DSR speed-related issues.

 

You mention RAMdisks - what about sticking a few nonvolatile RAM chips on the board at a CRU or two to simulate?   there are 1- 2- and 4- MB chips available last time Ksarul and I were looking into them.

 

I can't really see myself putting this into a TI case -- one luxury for me, as a geneve user, is getting beyond the firehose and console. 

 

A standalone Geneve 2020 in a new case would be nice.  I have a Skull Canyon that sits innocently on my desk; maybe all that's needed is a new 'firehose' with USB or similar hardware to interface the Geneve2020 to the PEB bus?  Then the  Geneve2020 can be standalone but if you want to use a PEB, you use the new interface card.  Say goodbye to the side port.  

 

Rambling done.

 

 

  • Like 2

Share this post


Link to post
Share on other sites
1 hour ago, InsaneMultitasker said:

A few thoughts as I inhale my lunch...

 

TI compatibility for the Geneve often boils down to software incompatibility (direct keyboard scanning and cartridge banking beyond the type used for XB carts, wrongly set video regs, etc) and the low level peripheral support.  Fortunately for the latter, TIMODE and rompage allow for accessing the cards just like they are in a TI system with some exceptions, such as GROM conflicts or DSR speed-related issues.

 

You mention RAMdisks - what about sticking a few nonvolatile RAM chips on the board at a CRU or two to simulate?   there are 1- 2- and 4- MB chips available last time Ksarul and I were looking into them.

 

I can't really see myself putting this into a TI case -- one luxury for me, as a geneve user, is getting beyond the firehose and console. 

 

A standalone Geneve 2020 in a new case would be nice.  I have a Skull Canyon that sits innocently on my desk; maybe all that's needed is a new 'firehose' with USB or similar hardware to interface the Geneve2020 to the PEB bus?  Then the  Geneve2020 can be standalone but if you want to use a PEB, you use the new interface card.  Say goodbye to the side port.  

 

Rambling done.

 

 

I didn't know about rompage. Nice to know that problem was solved. 

I'm trying to solve the keyboard direct scanning. I might be out of IO pins.

Since actual hardware carts will plug in, any bank scheme will work there.. but supporting well-known bank schemes in software is doable.

 

 

RAMdisk - do you mean battery-backed RAM? I figured SD ought to be fast enough.

Or do you mean Flash chips? these are actually not as fast.

NVRAM: I looked up Cypress NVRAM. It costs $36 for 1 megabyte or $51 for 2 megabyte. 

 

For plain old SRAM, 2 megabytes costs $15.

I'm not messing with DDR or DRAM. On the other hand, DRAM costs $2 for 8 megabytes. There are free cores to manage this.. hmm. 

 

I'll just try to make the board small and modular. I am looking at a PBox port on the back, and an appropriate cable (round IDE with serial?)

 

 

  • Like 2

Share this post


Link to post
Share on other sites

I am suddenly fascinated with the possibility of being able to control the Speech chip via MIDI.

 

This could make the circuit benders really happy, and save some Speak N Spells from mutilation. Circuit benders mutilate  the original version of Speak n Spell to produce crazy noises. For use in mixing and DJing.

 

There would be something like CALL SAY over MIDI.. maybe raw LPC samples too.. And an allophone library linked to MIDI note numbers.

 

And then the modulation wheel could distort the clock and other parameters desired by the circuit benders. I'm not sure what all they do to torture the chip. I did play with a bent Speak n Spell at the store Switched On in Austin.

 

Lots of possibilities.

  • Like 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...