X8 Release Date q:

Chat about anything CX16 related that doesn't fit elsewhere
Scott Robison
Posts: 952
Joined: Fri Mar 19, 2021 9:06 pm

X8 Release Date q:

Post by Scott Robison »


While I also suggested having 100% compatibility between x16 & x8 Vera access would be nice, it is definitely not essential. A "hardware abstraction layer" isn't difficult to create in the worst of times, and the similarities between the platforms will make it even easier.

paulscottrobson
Posts: 305
Joined: Tue Sep 22, 2020 6:43 pm

X8 Release Date q:

Post by paulscottrobson »



On 9/27/2021 at 10:13 PM, Yazwho said:




Funny, I'd say 98% of the time I'm not using it to 'load stuff into VRAM'.



Maybe you do, which is fine, but don't assume that is what everyone else is doing.



Personally I find the idea of writing code that runs on all 6502 based machines boring. If I were writing a database or a spreadsheet then I guess so, but that's not where some people's interest is.



Interesting. What are you doing ?

Most of the game code I've seen is doing what you would expect ; either characters or tiles (in practice the same thing) sometimes overlaid with sprites which you manipulate by writing to the sprite registers, scroll registers (though I don't recall a scroller, it shouldn't be difficult). Sometimes there's no real background (e.g. SHMUPS)

I did look at other ideas, mainly thinking about how you would implement such ideas. Vera is a bit NESish in that it's very good at what it's good at, but much less good at other things. I've often wondered, how would you do Asteroids, how would you do Frogger ? Michael and I have independently written line drawers which obviously access VRAM directly, and they're about the same speed, and I don't see how you speed it up much without the Window which gives you access to the full 6502 indirection thing almost.

Frogger you'd probably have to do with line interrupts and scrolling, but it's a bit messy and won't work if you want varied vertical scrolling obviously.

I think the code is going to be similarish because the hardware is very similar. Whether you write to the Tile/Sprite Control registers directly via the window or indirectly via $9F2x really doesn't make a huge amount of difference. PETSCII robots allows it because the base level, the PET, you can do on just about any 6502 machine that has the physical space and *some* form of graphics.

paulscottrobson
Posts: 305
Joined: Tue Sep 22, 2020 6:43 pm

X8 Release Date q:

Post by paulscottrobson »



On 9/28/2021 at 12:47 AM, BruceMcF said:




The "mechanism" being the same may be possible. That depends on how much of the logic resources the X8 uses. IIRC, Frank said that Vera used about 85% of the FPGA logic resource ... and the X8 adds a 65C02 soft core and some I/O ... so it might not be feasible. That is an open question.



Maybe lose some of the sprites. There's 128 of them, I think, and Sprites are notoriously heavy on FPGA resources. 64 might do, thinking of all hell breaking loose games like say Robotron. Even then I suppose you could have an Amiga type construct where you had slow bitmap sprites and fast hardware sprites.

paulscottrobson
Posts: 305
Joined: Tue Sep 22, 2020 6:43 pm

X8 Release Date q:

Post by paulscottrobson »



On 9/28/2021 at 12:47 AM, BruceMcF said:




But if in addition to the existing window system, there was also the X16 Vera data port system in some 32bytes in the I/O control page ... I think that it in the page starting at $0600 ... then for code that fits in normal CX16 Low RAM, you wouldn't have to refactor anything ... you'd just have to change the assignment of the base of the Vera register slot, and reassemble.



That's going to be near mandatory or close to it anyway. Even if the data port is squeezable in (I'd rather the SPI !) then you have the insoluble (without different hardware) 64k VRAM limitations. Some things (e.g. 320x240x256) are just impossible. I would think an X8 version of an X16 game would probably have to use 16 colour rather than 256 colour sprites, and no PCM sound or just tiny snippets, or one shot loads, or  you could double the scaling, or just the horizontal scaling. BBC Micro games generally ran in 160 x 256 resolution and it did look a little chunky at times, but usually was fine.

User avatar
Yazwho
Posts: 167
Joined: Fri Feb 19, 2021 2:59 pm
Contact:

X8 Release Date q:

Post by Yazwho »



On 9/28/2021 at 10:29 AM, paulscottrobson said:




Michael and I have independently written line drawers which obviously access VRAM directly, and they're about the same speed, and I don't see how you speed it up much without the Window which gives you access to the full 6502 indirection thing almost.



Indeed, this is not a machine thats good at rendering things on the fly, but is that a bad thing? Were there any 8 bit era machines that were?


On 9/28/2021 at 10:29 AM, paulscottrobson said:




Interesting. What are you doing ?



When you think of VRAM as a stream of data it becomes very interesting, especially when your data structures are variable in size and/or larger than 256 bytes. Throw in the ability to set the step amount, and you've got the hidden power of the system.

BruceMcF
Posts: 1336
Joined: Fri Jul 03, 2020 4:27 am

X8 Release Date q:

Post by BruceMcF »



On 9/28/2021 at 5:38 AM, paulscottrobson said:




That's going to be near mandatory or close to it anyway. Even if the data port is squeezable in (I'd rather the SPI !) then you have the insoluble (without different hardware) 64k VRAM limitations. Some things (e.g. 320x240x256) are just impossible. I would think an X8 version of an X16 game would probably have to use 16 colour rather than 256 colour sprites, and no PCM sound or just tiny snippets, or one shot loads, or  you could double the scaling, or just the horizontal scaling. BBC Micro games generally ran in 160 x 256 resolution and it did look a little chunky at times, but usually was fine.



The version of an external SPI for the FPGA that is least demanding of logical resources only requires bringing one additional registered pin out and drops the internal decoder circuit in favor of an external 3>8 decoder, giving two external spi selects plus the SD select, all overridden by the serial ROM select. It seems likely it would be fewer FPGA logic resources than the current design, so it doesn't seem like there would be an either/or.

Surely the memory constrain will limit the use of certain features ... this is part of why I am not worried that there will be a general impression that the X8 is the "superior" member of the family if the X16p and X8 are released side by side.

rje
Posts: 1263
Joined: Mon Apr 27, 2020 10:00 pm
Location: Dallas Area

X8 Release Date q:

Post by rje »


Different architectures serve different purposes, result in different programs.  That's not necessarily a bad thing, since each has a slightly different ecosystem.

* PRO X16.  I LOVE the banked RAM in the X16, because it gives me an alternative to file access (it's nice to have choices), plus it gives me a huge playing field for Core Wars, which would not work well using swap files.  I also worry (needlessly?) about programs that do a LOT of file access against an SD card, because I tend to think of SD cards as having a (large) read/write limit with no warning of impending doom. 

* PRO X8. I LOVE the idea of a significantly faster processor with a friendlier VERA window.  This lets me focus on more twitch-intensive games, and also lets me toy with things like interpreters, which might run intense-r operations at reasonable speed.

 

paulscottrobson
Posts: 305
Joined: Tue Sep 22, 2020 6:43 pm

X8 Release Date q:

Post by paulscottrobson »



On 9/28/2021 at 3:17 PM, BruceMcF said:




Surely the memory constrain will limit the use of certain features ... this is part of why I am not worried that there will be a general impression that the X8 is the "superior" member of the family if the X16p and X8 are released side by side.



Maybe. I'm not that sure amateurs are going to write vast amounts of code, and data could be stored on the SD card, and loaded into the banked RAM on the X16, several Spectrum games which switched 48/128 did this.

Lasagna
Posts: 8
Joined: Thu Aug 26, 2021 8:24 pm

X8 Release Date q:

Post by Lasagna »


As to why it hasn't launched I imagine the world wide semiconductor shortage is not helping. If you look on Mouser, Digikey, etc. the supply of FPGAs is not what was a year ago with many of the most popular FPGAs on waitlists.

Also, the exact FPGA that Frank has been using (ICE40UP5K-SG48ITR50) as been discontinued... meaning the physical designs would have to be updated to support another version of the ICE40 HX8K FPGA.

Lead time is a serious consideration.

BruceMcF
Posts: 1336
Joined: Fri Jul 03, 2020 4:27 am

X8 Release Date q:

Post by BruceMcF »



On 9/28/2021 at 4:04 PM, Lasagna said:




As to why it hasn't launched I imagine the world wide semiconductor shortage is not helping. If you look on Mouser, Digikey, etc. the supply of FPGAs is not what was a year ago with many of the most popular FPGAs on waitlists.



Not only that, but shipping shortages ... I have a container partly full of my household effects from China that is stalled waiting for an a spot on a container ship, since it's a 20 foot container and they only want to go with 40 foot high cube containers to maximum the amount of goods they can carry, and freight charges are still five times their normal rates.

Locked