Jump to content
IGNORED

A small hardware project I've been working on.


Gorf

Recommended Posts

I have come a long way in my VHDL design of a 7800 mega computer board add-on.

Tonight I have sucessfully compiled the preliminary VHDL code and will start work on

the simulation and testing phase.

 

Up to 4, POKEY chips

Up to 16, 8 bit sound channels/8, 16 bit sound channels

Up to 4, SIO's(serial, MIDI, 102 key PC compatible key board, and special function controllers)

32 A-D converters for elaborate gaming devices

Up to four keyboard like devices(possible 88 key polyphonic musical key board)

A8 compatible key board.

 

 

on board:

32k RAM in two banks of 16k each

 

16k kernal/BIOS ROM hopefully with some form of BASIC and an assembler monitor/debugger (not bank switched, always operational)

Will include static DLL list sprite/animation engine, POKEY sound engine, back drop buffer graphics engine, communications engine,

including serial MIDI and special funtion controller support for devices like modern mice, track balls, encoders)

 

8 function math unit

1) 8 bit x 8 bit = 16 bit

2) 8 bit / 8 bit = 16 bit

3) fixed point sin/cos 256 degree circle or 256 entry square root

4) 256 entry arctan table

 

still deciding the other 4 functions, suggestions welcome

 

Expansion:

7800 cart port thru connector.

 

CART/ROM port for up to a 256k RAM/ROM bank switched: 16 banks of 16k x 8 bit RAM/ROM

 

Possible USB ports for Flash drives, Keyboards and many other USB devices.

 

Will sit under the 7800 unit.

 

 

 

 

Again, the cost of this unit could be prohibitive in making it worth while but the

custom VHDL chip I have designed may help a long way in making this possible at a

reasonable price.

 

Let me know what you all think.

 

Gorf

Link to comment
Share on other sites

Some comments :-

 

Up to 4, POKEY chips

 

I would think that two would probably be enough.

 

Up to 16, 8 bit sound channels/8, 16 bit sound channels

 

Is this PCM data? I'd recommend FIFOs and one shot/periodic timers to reduce the load on Sally. What about volume control? You could then do some ADSR envelopes for instrument sounds.

 

Up to 4, SIO's(serial, MIDI, 102 key PC compatible key board, and special function controllers)

 

Is this SIO compatible with the A8 range?

 

32 A-D converters for elaborate gaming devices

 

Its a bit of overkill in my opinion. Probably 4 to 8 would be the limit e.g. 1 for each X,Y and Z axis and some spares. Again I think FIFOs and assorted timers would be needed to keep Sally under minimum load.

 

8 function math unit

1) 8 bit x 8 bit = 16 bit

 

Is this a MAC unit?

 

2) 8 bit / 8 bit = 16 bit

 

You mean 16 bit/8 bit surely?

 

3) fixed point sin/cos 256 degree circle or 256 entry square root

4) 256 entry arctan table

 

I think ROM tables should be used for these.

 

still deciding the other 4 functions, suggestions welcome

 

How about a polygon point transformation unit? You pass in a list of your polygon coordinates and X,Y,Z rotation angles, translation matrix, scaling matrix, perspective distance, viewpoint and it returns the transformed coordinates and if the polygon is visible. Might even be better if it returned some form of DDA for the polygon lines. That would make DLL creation or RAM buffer filling much easier.

 

Fixed point square root would be useful.

 

How about a 32 bit barrel shifter?

 

Possible USB ports for Flash drives, Keyboards and many other USB devices.

 

I hope this functionality will be handed over to a dedicated USB master controller? Sally certainly isn't up to the job.

Link to comment
Share on other sites

I say go the next step and just make it toally new console. The "7800+" so to speak cause with this heavy of an add on it's making it into a totally different system as is, might as well actually make it a new system. If you can put your word to at least 5 to 10 killer over the top games for it I will buy it up in a snatch.

  • Like 1
Link to comment
Share on other sites

I would think that two would probably be enough.

 

and...

 

Up to 16, 8 bit sound channels/8, 16 bit sound channels

 

Is what four Pokeys would give you. Also, you would not need to have them all or any on board.

So no PCM stuff. Four pokeys would make for a nice music synth.

 

 

Is this SIO compatible with the A8 range?

 

That is the hope since the POKEY's are what handle that in the A8.

 

Its a bit of overkill in my opinion. Probably 4 to 8 would be the limit e.g. 1 for each X,Y and Z axis and some spares. Again I think FIFOs and assorted timers would be needed to keep Sally under minimum load.

 

You are probably right but the connections would be there if someone creative enough can come up

with a way to make use of them, like for instance, parameter inputs for a music synth. ;)

Just scan a few at a time every so often instead of all of them every frame.

 

Is this a MAC unit?

 

No.

 

You mean 16 bit/8 bit surely?

 

Yes my bad.

 

How about a polygon point transformation unit? You pass in a list of your polygon coordinates and X,Y,Z rotation angles, translation matrix, scaling matrix, perspective distance, viewpoint and it returns the transformed coordinates and if the polygon is visible. Might even be better if it returned some form of DDA for the polygon lines. That would make DLL creation or RAM buffer filling much easier.

 

Im not planning on doing polygons with the MARIA and DLL generation...nightmare.

What you are asking would require a lot of design and silicon. This is an 8 bit

machine. I dont intend to turn it into more than that. Simply to expand the 7800.

into a nice 8 bit computer. Again, this logic chip I designed can be used

for a lot less and a much different config than what I've suggested.

 

Think simpler.

 

Fixed point square root would be useful.

How about a 32 bit barrel shifter?

 

Even simpler than that....there is already a 256 entry fixed point SQR.

For these suggestions of math additions to be useful, you

might as well add a whole new gfx engine....not looking to do that.

 

Possible USB ports for Flash drives, Keyboards and many other USB devices.

I hope this functionality will be handed over to a dedicated USB master controller? Sally certainly isn't up to the job.

 

Yes but it is why I used the term possible and not definitely, since the SIO and such would be fine

for handling mose of these fucntions. The Flash Drive would need something dedicated.

Edited by Tempest
Link to comment
Share on other sites

I say go the next step and just make it toally new console. The "7800+" so to speak cause with this heavy of an add on it's making it into a totally different system as is, might as well actually make it a new system. If you can put your word to at least 5 to 10 killer over the top games for it I will buy it up in a snatch.

 

That would be way too much. Also this add-on would not be loaded with everything, but allow the user

to add these other features in. If I were to make a new system, that would be a Oberon based unit and

fully backward compatible with the current Jaguar. It would have a fixed blitter and a much better

register file on the risc's to eliminate any write back stalls from ALU, multiply and divide operations.

 

And this unit would still allow you to plug in normal 7800 carts. IT would indeed

have a 7800 cart port.

Edited by Gorf
Link to comment
Share on other sites

Is what four Pokeys would give you. Also, you would not need to have them all or any on board.

So no PCM stuff. Four pokeys would make for a nice music synth.

 

My mistake it sounded like you were having both PCM and POKEYs. I still think that a FIFO to POKEY volume registers write would be interesting if emptied on a timer. You could get some nice/weird/interesting ADSR going for instruments then without much Sally intervention.

 

Is this a MAC unit?

 

No.

 

A MAC is much more useful than a simple 8x8 multiply.

 

Im not planning on doing polygons with the MARIA and DLL generation...nightmare.

What you are asking would require a lot of design and silicon. This is an 8 bit

machine. I dont intend to turn it into more than that. Simply to expand the 7800.

into a nice 8 bit computer. Again, this logic chip I designed can be used

for a lot less and a much different config than what I've suggested.

 

Think simpler.

 

Even simpler than that....there is already a 256 entry fixed point SQR.

For these suggestions of math additions to be useful, you

might as well add a whole new gfx engine....not looking to do that.

 

To be homest having sin, cos, arctan and square root tables without a MAC is not much use for ultimate performance. Especially with all the data shuffling, ADC, CLC etc. you'd need to do on the 6502.

 

Its not impossible to do 3D stuff on MARIA using DLL stuffing, andym00 did it :-

 

http://www.atariage.com/forums/topic/62320-maria-graphic-power/page__view__findpost__p__765483

 

However, the demo doesn't work on real hardware for some reason :( but the concept works.

 

How about adding more colour depth similar to VBXE on the A8s?

Link to comment
Share on other sites

I'm excited to see new ideas for the 7800, particularly when it comes to upgrades to the console itself, and I'm not trying to discourage anybody from creating something new. But, speaking personally, I would prefer to see something smaller and simpler, something like a combination of the XBoard (more RAM and at least one POKEY chip) and the High Score Cartridge, inside an enclosure that fits into the cartridge slot so that there won't be any need to do any soldering. As an alternative to that (since the tooling for an external enclosure would be expensive), design it as a board that can be installed internally without having to desolder/socket any chips. As an aside, I am convinced that the biggest reason the XBoard hasn't gotten wider support in its current form is that it has to be socketed, which (for NTSC consoles) is more trouble than its level of support can justify.

 

My main concern is that an upgrade like the one Gorf describes would be too expensive, or that it will overlap with the functionality provided by the original 7800 computer add-on design, which Curt Vendel has talked about completing and putting into production. The "market" (if that isn't too great a term for the handful of us who appreciate the 7800 enough to make or buy new games for it) is small enough without splitting it between two competing devices, assuming they're ever completed and made available.

Link to comment
Share on other sites

The user base of the 7800 is already so small, why look for an even smaller audience? :?

I guess its an attempt to break the catch 22 scenario. If you do nothing the user base remains small. If you do something interesting you have the potential to expand the number of users. Even if Gorf only makes one working proto it makes the hobby more interesting to him and thats also a good thing.

Link to comment
Share on other sites

This sounds like a monumental amount of work and cost for really no good purpose.

 

Something so unnecessary and complicated would be vastly too expensive to replicate for the teeming masses of 7800 homebrew purchasers. All 35 of us. :roll:

 

Seems more like ol' Gorfy here wants to make a Hybrid 7800/Jaguar because he's feeling a bit constrained by the 7800's unique and frustrating hardware when programming what amounts to simple ports of arcade games that have already been done 100 times over.

 

Dude, why torture yourself over this stuff?

  • Like 1
Link to comment
Share on other sites

Excuse my ignorance, but what is the point? :?

 

What's the point of supporting any homebrew system?

But that's just it. You're not supporting a homebrew system. You've half coded some arcade ports, and run into a wall of coding/hardware limitations you don't like. So your idea to fix this is to take a tiny piece of the existing system, and you're proposing to make some giganto ridiculous add-on for it that is akin to 400x what the original system is capable of and was intended to do.

 

Shawn was right. Why not just build a whole new console? That's pretty much what you're doing here anyway.

Edited by Underball
  • Like 1
Link to comment
Share on other sites

Excuse my ignorance, but what is the point? :?

 

What's the point of supporting any homebrew system?

But that's just it. You're not supporting a homebrew system. You've half coded some arcade ports, and run into a wall of coding/hardware limitations you don't like. So your idea to fix this is to take a tiny piece of the existing system, and you're proposing to make some giganto ridiculous add-on for it that is akin to 400x what the original system is capable of and was intended to do.

 

Shawn was right. Why not just build a whole new console? That's pretty much what you're doing here anyway.

 

Exactly.

  • Like 1
Link to comment
Share on other sites

A MAC is much more useful than a simple 8x8 multiply.

 

For 3D yes, which is not the goal of my endevors.

 

To be homest having sin, cos, arctan and square root tables without a MAC is not much use for ultimate performance. Especially with all the data shuffling, ADC, CLC etc. you'd need to do on the 6502.

Its not impossible to do 3D stuff on MARIA using DLL stuffing, andym00 did it :-

 

http://www.atariage.com/forums/topic/62320-maria-graphic-power/page__view__findpost__p__765483

 

However, the demo doesn't work on real hardware for some reason :( but the concept works.

 

How about adding more colour depth similar to VBXE on the A8s?

 

 

As far as 3D in theory that does not work on real hardware.....need I continue?

 

This is a simple logic chip. That is all it was ever intended to be. The silicon required to do what

you are asking is way more work than I am interested in dealing with. Also this chip would be very

small and ideal for powerful carts or an addon. You also know well enough that no one would ever make

a whole lot of use of any of these over kill featuers, save a few of us.

 

Also for simple algorithms(such as synth sound algs)as the multiplies would be plenty fast(6-8 cycles)

with the sqrt function. We are not doing rocket science here. Simply a small inexpensive means of adding

a lot of nice and useful extras. What you are asking for is all great and such but completely out of the

realm fo the system this chip is intended for.

 

Color depth would require an entirely new gfx and not my intentions for this project. I am simply giving

means for easy addition of a few siple functions, comunicattions and RAM/ROM expansion. I still want

this to be a 7800 system...not a Jaguar. I have other plans for that and the 7800 is not the system to

base them around.

 

All of what you are asking would require very expensive ASIC's or at least me needing to update my lowely

Spartan 3E unit for a board I just dont have such money for. It would also cost way more than the average

7800 owner would be willing to pay for. The silicon foot print would be better suited in a next gen system,

not the 7800. Remember, this is a 6502 we are talking about. Would you rather take a few hundred cycles

for these functions when you can do them in under ten?

Link to comment
Share on other sites

Exactly.

 

Um no not even close. It is an expansion chip. A computer add on is just one of many

possible uses. It was not because I ran in to an coding wall that a RAM/ROM/POKEY cart

cant handle. This chip simply makes it possible to fit a good deal of features inside

the small area of a 7800 cart. We have very small versions of very large RAM/ROM chips

nowadays and the only big chip would be the pokey. Of course you dont need to add anything

you dont really want either.

 

A computer or console would require much more than what I proposed. Plastics, PS, a processor

designed into the system along with having to find TIA's, MARIA's and the other things needed

to keep it compatible with the 7800. No thank you. This would be a simple enclosure running

out of your 7800, via a ribbon cable if you wanted an add-on. The chip is the real beauty here.

It will allow for very powerful carts that the current versions cant do.

 

Oh and please...someone remind Underball , I have him on ignore.

  • Like 1
Link to comment
Share on other sites

The user base of the 7800 is already so small, why look for an even smaller audience? :?

I guess its an attempt to break the catch 22 scenario. If you do nothing the user base remains small. If you do something interesting you have the potential to expand the number of users. Even if Gorf only makes one working proto it makes the hobby more interesting to him and thats also a good thing.

 

It's funny how people bitch and moan about people never making anything new and exciting, and

then the minute you do, they bitch and moan anyway. Then they wonder why some of us throw our

hands up in the air and wish to walk away from the whole pointless mess at times. :roll:

Damned if you do and damned if you dont. :sad:

Edited by Gorf
  • Like 1
Link to comment
Share on other sites

That sounds really cool Gorf - It would be great if it were a 'dev' cart ( like the skunkboard, or the harmony ) with a USB link to a PC.

 

Yeah right, but after this wall of responses, I might just go back to coding my PC and actually

make some money with my talents instead of wasting on people who damn you if you do and damn you

if you dont! SHEESH! :roll:

Edited by Gorf
  • Like 1
Link to comment
Share on other sites

I'm excited to see new ideas for the 7800, particularly when it comes to upgrades to the console itself, and I'm not trying to discourage anybody from creating something new. But, speaking personally, I would prefer to see something smaller and simpler, something like a combination of the XBoard (more RAM and at least one POKEY chip) and the High Score Cartridge, inside an enclosure that fits into the cartridge slot so that there won't be any need to do any soldering. As an alternative to that (since the tooling for an external enclosure would be expensive), design it as a board that can be installed internally without having to desolder/socket any chips. As an aside, I am convinced that the biggest reason the XBoard hasn't gotten wider support in its current form is that it has to be socketed, which (for NTSC consoles) is more trouble than its level of support can justify.

 

Well you have nothing to fear as this essentially does all these things and more and you simply

plug it into your cart port.

 

My main concern is that an upgrade like the one Gorf describes would be too expensive, or that it will overlap with the functionality provided by the original 7800 computer add-on design, which Curt Vendel has talked about completing and putting into production. The "market" (if that isn't too great a term for the handful of us who appreciate the 7800 enough to make or buy new games for it) is small enough without splitting it between two competing devices, assuming they're ever completed and made available.

 

This would be an add as you go board. It will come with almost nothing except the BIOS ROM, a

small RAM and the math unit. The rest would be sockets and the user can then expand it as he/she

saw fit, simply by plugging in new chips. Of course you'd have a few plugs for key boards and such.

 

Again, the responses here tell me I've wasted my time once again trying to help the homebrew scene.

Edited by Gorf
Link to comment
Share on other sites

That sounds really cool Gorf - It would be great if it were a 'dev' cart ( like the skunkboard, or the harmony ) with a USB link to a PC.

 

Yeah right, but after this wall of responses, I might just go back to coding my PC and actually

make some money with my talents instead of wasting on people who damn you if you do and damn you if you dont! SHEESH! :roll:

So you're really not in it for anything but the money then, huh?

 

If you're going to be this kind of opportunist, you might want to finish a project first before reading others the riot act and bragging about your programming prowess.

  • Like 1
Link to comment
Share on other sites

The user base of the 7800 is already so small, why look for an even smaller audience? :?

I guess its an attempt to break the catch 22 scenario. If you do nothing the user base remains small. If you do something interesting you have the potential to expand the number of users. Even if Gorf only makes one working proto it makes the hobby more interesting to him and thats also a good thing.

 

It's funny how people bitch and moan about people never making anything new and exciting, and

then the minute you do, they bitch and moan anyway. Then they wonder why some of us throw our

hands up in the air and wish to walk away from the whole pointless mess at times. :roll:

Damned if you do and damned if you dont. :sad:

 

Nobody ever bitches and maons to any of the other 7800 Hombrew coders.

 

Kenfused

PMP

Grooveybee

batari

bakasama

 

and on and on.

 

It's just you garnering all the complaints. Because of how you speak on here and how you treat people.

 

Take a look in the mirror.

  • Like 1
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...