Jump to content

Recommended Posts

Can you multiplex the X16 for 16 bit pictures or 24 bit pic. Or even do a multiplexing memory addressing for larger fat 32 ssds and diplexing to break the data back up into 8 bit? At 14 or 8mhz it may be fast enough to take advantage of this to make some super ninendo like games or graphics to even emulation?  This should also work for sound such as 16 bit sound based on multiplexing to 24 bit multiplexing? Though would you even want to mix and add channels and memory addressing for much larger mermories and data pics and so on though multiplexing?

Share this post


Link to post
Share on other sites

Interesting question.

Can you give a specific example of what you mean?

The Commander X16 is capable of a mix of graphics capabilities from the SNES, Mega Drive and TurboGrafx-16.

Excluding enhancement chips, in the right hands, the X16 can probably equal or even exceed anything on these 3 systems.

The sound capabilities could (subjectively) be superior to those 3 consoles too.

Share this post


Link to post
Share on other sites
Posted (edited)

Well for one thing a smoother picture. Or more pixels and more colors all at once for a start. Let's start by doing a higher resolution such as 480p or 640 by 480 display or vga sized graphics. Or show all 4096 colors at once. Well you could us something like and M for multiplexing and (----) for the 16 to 24 to 32 bit code. Every 8 characters a comma or , is used. This breaks it up for the computer and well you can use either a multiplex bracket program to group and list all 4096 colors to read from to draw the picture from at a high resolution. But multiplex codes could be extensions to graphics sizes and formats to do more detail pictures and graphics. But also you can use multiplex codes to address high amounts of ram that you could never do on a regular 8 bit machine. And bracket all the 8 bit or even 16 bit codes and so in in brackets or advanced memory addressing for higher banks of ram, roms and hard drives or sd cards. Higher bit character sets. And may be used to make abstract characters that have no assignments so you can create custom codes or functions like the original commodore 64 that would vary for what ever use you need. But multiplexing could allow you to use more peripherals or usb devices and usb hard drives to cd rw drives maybe. Also for high speed computing, It could be used to slow down programs though a multiplexing program to adjust speed of games that may be converted from the old c64. To using high speeds to do more on the the machine at a playable rate. A boost of 14mhz to 12 or 10mhz could be multiplexing speeds to stabilize the hardware for such things maybe as multiplexed games may run smoother at high speed?

 

Edited by Travis Bryant moore

Share this post


Link to post
Share on other sites
Posted (edited)

By adding a pause in multiplexing it could be a way to slow down games. This pause or multiple pauses could be a way to adjust game speed to make a game playable at high speeds when the processor is running at high clock speeds.

 

IF you have a 16bit register in concept you could do the opposite of multiplexing and run two 8 bit codes as in input at the same time. It is a mater of sequencing them read of them in the right order. But just a thought.

Edited by Travis Bryant moore

Share this post


Link to post
Share on other sites

It's possible to show all 4096 colors on a single screen, if you use line IRQs from the VERA to periodically swap out the palette. Obviously you would need to do this 16 times. But there is no way to show all 4096 colors on a single line. NTSC trickery may help you achieve more than 256 colors on a single line through color-mixing/smearing effects, but the emulator doesn't simulate that so you'll have to forge ahead and otherwise wait for final hardware. And swapping the palette back and forth between even and odd frames may create the illusion of color-mixing, which could greatly expand the number of apparent colors, but it is an effect with limitations: Sharp-eyed viewers will notice the flickering, others will develop headaches if exposed to the effect for long periods of time, and I'm not sure if it can cause seizures with photo-sensitive people.

Otherwise, I don't understand what you mean by "multiplexing". The only context in which that term appears to apply to color is in using multiple wavelengths of laser light to encode multiple bits simultaneously for fiber optic communication.

As far as any additional features for the VERA to understand new graphics formats, that's a non-starter, the VERA design is finished and the hardware/firmware/logic is in the final bugfixing stages. You'll just have to help the card sell well enough to convince Frank that there's a market in a bigger, better, stronger, Very VERA sequel card with support for fancier-pants graphics features, more color bits, 16-bit hardware multiplication, affine transformations, blackjack, and everything else on everyone's wish lists. And a pony, because why not. 😛

Share this post


Link to post
Share on other sites

Okay real quick I want to do the colors the same way the memory is banked. So you have a pallet that works like them memory where you can use 2mb of ram by addressing another chip or memory bank. The same thing for the pallet. That said you just use multiplexing for more advanced commands and addressing and making pallets. Sorry for not playing digital jazz.

Share this post


Link to post
Share on other sites

Now as for advanced graphics how can you zoom in farther into more pixels to cram more detail into a picture in addition to just populating sprites. Some sprites back ground bonuses. To populations of city dwellers or animals on a bit map or picture. The goal is like zooming in on ms paint to get more pixels per given picture in the same space or 80 lines or what have you. But much more detail dense. Like if you could do sprites over an entire page that would populate a forest as a single layer. Layers could be used to make complex pictures from back ground and surface textures and so on. With a layer sprite for weather effects that over laps. And act like a complex dynamic picture. But that is not possible. But if you can add layers or dimensions you could cram a lot more detail in theory. Now look at the pic of 8 bit guy. It is very pixelated. So you take the same pick and zoom in and divide each pixel by 4 and zoom in again and do the same to get greater details. And adding a new dimension may be to add complexity in other ways. Either by layered sounds that can have six voices but each of those could switch between the different wave types. Though this may not be possible.

Share this post


Link to post
Share on other sites

Oh. So this is just a giant feature request thread.

The VERA's design is final and it's only changes are bugfixes.

 

Share this post


Link to post
Share on other sites

Having multiple palettes and swapping between them would be nice to have, but a similar effect can be achieved by storing multiple palettes in low RAM and just pushing them to VRAM as needed, usually on the VSYNC interrupt. 

Share this post


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

Okay real quick I want to do the colors the same way the memory is banked. So you have a pallet that works like them memory where you can use 2mb of ram by addressing another chip or memory bank. The same thing for the pallet. That said you just use multiplexing for more advanced commands and addressing and making pallets. Sorry for not playing digital jazz.

Don't lose sight of the fact that the "buildable with through-hole parts" means that these are the 512K Static RAM available in through-hole, and they go as fast as they go. Multiplex access to the RAM between video and CPU, each user has to go half the speed the RAM supports. In effect, that's how the C64 worked.

So how did C128 2MHz fast mode work? Well, when using the 80 column display chip with its own memory, a 2MHz CPU could use the SAME SPEED RAM but run at twice the speed. That's how it could have 128KB RAM without breaking the bank, because it was more of RAM AT THE SAME PRICE PER CHIP, instead of more RAM at a HIGHER price for faster chips.

In effect, that is the approach of the CX16 ... the video chip owns its own (embedded internal) RAM, so it doesn't fight with the CPU for access. "Multiplexing" the CPU and Video like the C64 then means running the 65C02 at 4MHz, and the video processor at 4MHz, instead of running the 65C02 at 8MHz and the video system internally at 50MHz.

Even before they locked down the design (so from here on out would only be bug fixes if they find a bug in the hardware design of Vera), I predict that the answer would be in the range between "No" and "Hell, No".

Edited by BruceMcF

Share this post


Link to post
Share on other sites

How many kilobytes does it take to do a 4096 colors. If you have that many colors all you need is a ram dedicated to color pallet. And each color could be repeated by coloring a dot matrix like screen. Where each dot has a mathematical position that is filled with said color. Draw pixel map at 64 by 64 containing 4096 pixels. Each Pixel can have one color off the pallet. Even if it is a repeat color each pixel has it's own color. 

Share this post


Link to post
Share on other sites
23 minutes ago, Travis Bryant moore said:

How many kilobytes does it take to do a 4096 colors. If you have that many colors all you need is a ram dedicated to color pallet. And each color could be repeated by coloring a dot matrix like screen. Where each dot has a mathematical position that is filled with said color. Draw pixel map at 64 by 64 containing 4096 pixels. Each Pixel can have one color off the pallet. Even if it is a repeat color each pixel has it's own color. 

What you're talking about involves "racing the ray".  You'd need one 8x8 tile for the tile map, repeated over and over. This tile would have eight colors indices, one for each column. Then as the "ray" is drawing a single line across the screen you would have to stay 4 to 7 pixels ahead of it, changing those 8 palette colors after a pixel is drawn but before the one 8 pixels over is drawn. It is possible but difficult; if your timing is off even a little bit then the image is garbage. For every pixel on the screen you'd need to push two bytes to the color palette, so for a 640x480 image that's 600kb; you'd need to break the image up into probably ten files and include load times of only 140kb per second; it wouldn't be possible to race the ray for that much data, even for a 320x240 image.

  • Like 1

Share this post


Link to post
Share on other sites
Posted (edited)

Well if you can't page a hard drive or SD card for the pallet then I guess it would not be possible. And with out a 140kb data processor or graphics accelerator I guess it couldn't handle that. And it may take a complex video compression program to run 640 X 480 images . It would take a preset data of image or graphics data that could be arranged into any photo data you want at 32kb if that level of compression and preset data to draw chunks from stored on a hard drive or sd card. But I don't know how Jan Sloot did it. I mean if you could do rows by a 8bit characters or symbols to represent the colors in a line and draw a 640 by 480 though a data compression program. But I don't know if that would be feasible. Then if the file compression takes advantage of symbols to represent lines and say one 32 bit character is one line and a 640 x 480 is x lines then you have x characters  for the picture. Though running video compression in real time may not be possible for the computer.

Edited by Travis Bryant moore

Share this post


Link to post
Share on other sites
Posted (edited)

https://www.ascii-code.com/    

ASCII has about what 255 characters? But you said it could do 4086 colors in 600kb for a pallet in one post. So What if you developed a color code similar to the the code based or resistors for a CSXII code where black is zero and brown is one. Then you have about 8 other colors representing 2-9 and having place holders for ones, tens hundreds and thousands, and exponents. If you look at how the colors are read for resistances you can generator many codes just from the different colors based on what is read on the code band of a resistor. I wonder if you could do something like that instead of ascII or PETSCII? https://www.dummies.com/programming/electronics/how-to-read-resistor-values/#:~:text=Here’s how you use the color code to,nominal value of the resistor in ohms. Or something like ASCII based on colors. Or hybrid color and petscII?

Edited by Travis Bryant moore

Share this post


Link to post
Share on other sites
Posted (edited)

What you're talking about is already taken care of by VERA. You have 4096 colors available,  just only 256 of those at once. You can use tiles to draw pictures with, rather than just a bitmap mode. There is also a bitmap mode but the larger the image the fewer colors are available. There is no need in most cases to have more than 256 colors at once.

Edited by Ed Minchau

Share this post


Link to post
Share on other sites
6 hours ago, Travis Bryant moore said:

How many kilobytes does it take to do a 4096 colors. ...

You are grabbing the problem at the wrong end. How much time does it take to render a pixel to be displayed in each row to be displayed. If it takes more time to render a complete feature set for a complete row of pixels than you have available while the previous row is displaying, the feature set is not feasible at that dot clock. That's why there IS a palette ... two, four and eight bits per pixel can be done and still have two layers of display and check through the hardware sprites each row to find out which ones contribute and in which order.

The 128KB embedded inside the FPGA is the RAM that can be accessed at the internal 50MHz that allows the feature set. "Getting more RAM" by using the system RAM means getting it at a much slower speed. It doesn't allow MORE simultaneous colors, or HIGHER resolution, it requires FEWER simultaneous colors and LOWER resolution.

They definitely could have designed the CX16 do the High RAM was used as the video display, but no matter how you do it with RAM that has THAT access speed, it handles lower resolution, smaller palettes and fewer sprites.

Share this post


Link to post
Share on other sites

IT is amazing that anyone can do petscii video this good. I found these on youtube. Now that impressed me.  But I wonder if you did some sort of sloot paging for certain data like a link to youtube to grab important data.

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.


×
×
  • Create New...

Important Information

Please review our Terms of Use