ODD Multiplexing?
- StephenHorn
- Posts: 565
- Joined: Tue Apr 28, 2020 12:00 am
- Contact:
ODD Multiplexing?
And now you're just trolling. Have fun.
Developer for Box16, the other X16 emulator. (Box16 on GitHub)
I also accept pull requests for x16emu, the official X16 emulator. (x16-emulator on GitHub)
I also accept pull requests for x16emu, the official X16 emulator. (x16-emulator on GitHub)
ODD Multiplexing?
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".
-
- Posts: 952
- Joined: Fri Mar 19, 2021 9:06 pm
ODD Multiplexing?
14 hours ago, StephenHorn said:
And a pony, because why not. ?
Pony Schmony! I want a UNICORN!
-
- Posts: 124
- Joined: Sun May 30, 2021 5:00 pm
ODD Multiplexing?
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.
-
- Posts: 504
- Joined: Sat Jul 11, 2020 3:30 pm
ODD Multiplexing?
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.
-
- Posts: 124
- Joined: Sun May 30, 2021 5:00 pm
ODD Multiplexing?
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.
-
- Posts: 504
- Joined: Sat Jul 11, 2020 3:30 pm
ODD Multiplexing?
You should check out the "double PETSCII" threads.
-
- Posts: 124
- Joined: Sun May 30, 2021 5:00 pm
ODD Multiplexing?
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?
-
- Posts: 504
- Joined: Sat Jul 11, 2020 3:30 pm
ODD Multiplexing?
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.
ODD Multiplexing?
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.