What I think an MSX 3 Should be ?

Pagina 5/24
1 | 2 | 3 | 4 | | 6 | 7 | 8 | 9 | 10

Van anonymous

incognito ergo sum (116)

afbeelding van anonymous

10-03-2015, 17:46

I see lots of people throwing technical specs at random without justifying the reason. Here's my point of view. It's not what I'd like a hypothetical future MSX to be, but what I think would make sense in today's market.

First and most important, this machine must be come from the owner of the MSX rights, maybe in association with Kadokawa, and manufactured by an established hardware manufacturer (Sony/Panasonic/Philips/Sanyo/whatever...) Otherwise, it's just a hobbyist MSX-like product like the GR8BIT.

Architecture:

- It must be able to run without modification and natively all the existing software up to the MSX2+ especification.
- To have a chance to survive nowadays must have a 32-bit CPU.

The Z380 CPU meets both of these requirememts: full Z80 compatibility, and 16/32-bit modes. The 32-bit address space allows for up to 4GB of RAM, which would be IMNSHO too much, but memory is cheap.

So:

* Z380 CPU @20MHz (max frequency supported) with 4GB of RAM. Though the memory is lineal, an MSX2-compatible memory mapper (or more than one) is required to present to the CPU 16Kb memory segments when running in compatibility mode.

* Programmable Interrupt Generator. MSX computers use the VDP to generate interrupts at either 50 or 60Hz. There should be another device in the system allowing the programmer to set up other interrupt sources (2 to 4) at arbitrary frequencies (from 100Hz to at least 22kHz).

* Memory protection. The Z380 CPU doesn't support protected memory, so there must be a circuit external to the CPU that allows disabling writing to areas of memory via bitmasks or other method. This is required when connecting a machine to the Internet to prevent software bugs (buffer overflows and such) to allow third parties to take over the system.

Memory-mapped VRAM. The VDP memory must be available to the CPU via the VDP as in previous generations, but also mapped in the Z380 CPU address space for direct access. This will allow for fast graphics.

* All firmware in FlashROMs, as Nestor said. In order to perform upgrades or full replacements of the BIOS and operating system.

* SD card storage, with no fixed internal storage.

* External connectivity via Wi-Fi and USB.

Design:

* Laptop form-factor, around 12". It doesn't make sense to build such an underpowered machine in desktop format. We now carry our computers with us all the tim, and this machine must not be an exception. With these low specs the battery would be tiny and still last days.

* The machine(s) must have appeal and be obviously different from current business computers. Perhaps made of colorful plastic with a playful design.

* It must have an integrated keyboard (like most MSX computers) and a distinctive case, probably 3D-printed and available in different shapes and/or colors.

Software and development environment:

* There must be full technical documentation of all hardware components.

* Modern C compiler and assembler/linker, running natively on the machine (NOT a cross-compiler running under a different platform, which could also exist).

* BASIC or other easy to learn interpreted language.

* Boot to simple graphical interface running over (not replacing) an updated version of MSX-DOS(2).

Van hit9918

Prophet (2932)

afbeelding van hit9918

10-03-2015, 18:13

@Manuel, how to make RAM with 16bit mapper port F8?
I tried below XML and the 16 megs go without error message, but port F8..FB dont respond.

<?xml version="1.0" ?>


  
    Memory Mapper (16 MB)
    
    <code />
    
    16 MB memory mapper cartridge.
    RAM expansion
  
  
    
      
        
          
          16384
        
      
    
  

Van AxelStone

Prophet (3199)

afbeelding van AxelStone

10-03-2015, 18:14

konamiman wrote:
  • 1GB RAM. And perhaps it's too much.

Definitively is tooo much, something like 128Mb RAM should be more proper for a simple Z380. However I maintain that there is no space for MSX3, we have a lot of unused hardware. Even MSX2+ almost don't have specific software Sad

Van Retrofan

Paragon (1339)

afbeelding van Retrofan

10-03-2015, 19:35

AxelStone wrote:
konamiman wrote:
  • 1GB RAM. And perhaps it's too much.

Definitively is tooo much, something like 128Mb RAM should be more proper for a simple Z380. However I maintain that there is no space for MSX3, we have a lot of unused hardware. Even MSX2+ almost don't have specific software Sad

I agree, just focus on the existing hardware and enjoy the MSX as retrocomputer which will give us a lot of fun! That's the reason I bought a spare Turbo-R as I like the retro factor very much... Cool

Van wolf_

Ambassador_ (10109)

afbeelding van wolf_

10-03-2015, 20:22

In one of a few spare moments I have, let me add something to the pile:

I'd first sort out what you'd want to do with such an MSX3 and base your hardware configuration on that, not the other way around. I'm not going to mention specifically what kind of CPU or VDP one would need, let's get back to a more real-world level of discussing.

Networking.

Yeah, probably. I can see how it could be useful for gaming (and does anyone remember the game stats feud from a while ago? Hannibal ) But web-browsing and other bits that even my phone does better? Let's be realistic here.. for some concepts there's simply no point anno 2015, other than proving that it can be done.

Sound.

Well, practically speaking: an OPL4 is neat the way it is. An added DSP for some reverb would be even better, but we can manage without it. Several problems occur with the OPL4 (and whether this is a Moonsound or something from Latin America, I don't care).
1) MBWave/FM is still butt, major butt. Haven't worked with alternatives like MS2, RealFun and Meridian though.
2) Sample RAM-size; not everyone has the same amount, so for creating a kind of 'standard' this is annoying.
3) I can't stress enough how this whole VDP interrupt annoys me out of my skull. I want consistent speed, on any system, anywhere in the world. And while I know the OPL4 has its own timer, it has to work in such a way that your game update (VDP) isn't bogged down because of that. See more on this below.

Graphics.

Frankly my dear, I think any of what we have is decent to make proper games with, be it the MSX2, MSX2+ or G9k, and it's something we can associate with easily. Having a few of them stacked would be nice for easy multi-layers though. More than this and you'll loose your users and creators. See, it's easy to ask for zillions o' colours, or heck: even 3D, but who's to draw for all of that? If the specs rise, you'll lose your pixelmeisters who could at least do decent stuff for MSX1 and perhaps MSX2. We got used to the limitations in such a way that we accept those limitations. Would we be so forgiving if an MSX3-game for a VGA-kinda chip features only mediocre graphics? Would a mediocre designer even start out trying to make such graphics?

What I do like however is a way to map the VRAM so that we'd have direct access to all the pixels in a simple buffer[x,y]=c style. Or, alternatively: just show bits of the regular RAM as pixels (bypassing the use of VRAM) with various modes for pixel-size. E.g. you would be able to have 2x1 screen pixels for each 1x1 RAM-pixel, or any other weird size (such as using only part of the screen for wide-screen animations). Should make for a decent demo-machine like that.

CPU.

So far I've seen 'm all passing by; Z80, Z380, R800. How about having three CPUs running independently? Could maybe even be regular Z80 (or eZ80?) models. One does the logic, one does the graphics, one does the music (using its own timer!). Maybe one extra uber-CPU for managing these three CPUs. Probably each one should have its own dedicated memory. It would solve the current problems; many OPL4 channels, intensive graphics, complex algorithms = a single Z80 just dies. Also, since OPL4 songs can potentially be quite large (24+18 channels), dedicated song memory would be another plus.

Disk access.

A system that allows uninterrupted loading while the main CPU doesn't freeze. If a C64 could do this in 1982 then why can't we?

Casing.

Let's assume that this MSX3 is going to be expensive because of the niche market. Should it become even more expensive because of a fancy case? And it's not even easy to aim at larger quantities as some countries might want their own keyboard layout.
See, if a keyboard stops working all of a sudden, it's so easy to walk to a nearby computer store (or even the supermarket) and buy a new keyboard for less than 10 euro. Now imagine you'd have to bring away your whole MSX3 for a repair job.

As for the One Chip MSX; it already shows how small things can get. Because what would we ever need if most of the power would be built-in already? We won't need 3.5" disk drives any more, an SD-slot would do. Some cartridge slots, some PS/2 slots and some USB-slots. I hope no one was expecting a new Philips 82xx or Sony HB-xxx case, because: what on earth would you want to put in it? You could already fit eight OCMs inside one of those.

So as you see I haven't mentioned what specific bits to use for a hypothetical MSX3, only how they should work.
- a few existing video chips stacked together, mapped VRAM and/or RAM represented as pixels
- an OPL4-kind would do
- a number of Z80'esque CPUs, each with its own task, prolly each with its own RAM
- network, meh.. for multi-player gaming I guess
- uninterrupted disk access
- off-the-shelf casing/keyboard/components, because things are going to be expensive enough, and it makes repairing/replacing easier

This list more or less meets us where we are (so making content should be reasonably straightforward) yet it gets rid of some of the major obstacles we've had to endure for far too long. It'd still be an MSX without actually being a slimmed-down PC.

But first and foremost: think of what you want to do with it and question whether you really want any more than that? I'd put the focus to 2D gaming and demos. I see no point in having GUIs, 3D engines, web-browsers and other things a PC (or my phone for that matter) does better. If the MSX3 could pick up the essential bits that were left behind (which the C64 and Amiga could do) then it'd be quite something already.

What remains is user support, and it may well be the ultimate turd in the pool.

And now you can all slam this list down for whatever reason.. :RNFF:

Van Grauw

Ascended (10772)

afbeelding van Grauw

10-03-2015, 21:24

IMO, nothing more beyond the power of the turbo R’s R800 CPU is needed. So let’s say a 20 MHz Z80. Other than that, a V9990 for practical reasons (no video output switching).

For everything else we have our existing cartridges that we can use, even for coprocessors and DMA (BUSRQ). The only extra power we need is that of a power supply Smile. What remains is a software problem, rather than a hardware one.

Van hit9918

Prophet (2932)

afbeelding van hit9918

10-03-2015, 22:22

@JaviLM,
you stuffed a z380 in there for having 32bit. and you kind of pushed the MSX aside. e.g. users RAM cartridges wont work on the z380 adressing business.

the MSX slot mapper model: once one pushes that aside one got to ask whether it makes more sense to make a whole new incompatible box! and then emulate MSX there. maybe the result is better than a janus.

Something similar actualy happened when MSX2 was introducing the mapper.
One stared at the new big memory and the rest of MSX was pushed aside. Well you know what were the consequences with multi-mapper malfunction! Then late with DOS2 the fix was released (mapper mirrors + proper programming). Still DOS2 has a "primary mapper" mentality that is the reason why you need to butcher the TR for more RAM.

I wrote p3bios to fix these things, and in this thread I can easily say "MSX3 OS announced"

The realism level of this announcement is somewhat higher than the MSX3 announced some time ago, my slotviewer demo already showed the multiybte readslot from any mapper, dead easy called in RDSLT fashion. And it does that on an MSX1, it can multibyte transfer from the furthest subslot megs RAM directly to 9990.
Because MSX3 OS does the grande unification of the entire MSX fleet.
Smile

To get a 32bit into the MSX world, one must do a board logic
"if the high address pins change, the logic must issue an OUT to the mapper ports".
Now the 32bit sits within the MSX, not dangeling aside.
It can make use of the RAM of the playsoniq who has 16 megs straight with 16bit mapper.

Van Grauw

Ascended (10772)

afbeelding van Grauw

10-03-2015, 23:14

Grauw wrote:

even for coprocessors and DMA (BUSRQ).

Oh darn I thought BUSRQ was available on the cartridge slot, but it’s not. Regrettably.

Grauw wrote:

<grauw> why, why
<grauw> why did they not put it on the cartridge slot
* wants to kick someone

Ok, I suppose in an “MSX3” one of the reserved pins of the cartridge slot can be assigned to BUSRQ, and existing MSX owners can mod their MSXes with little effort to add DMA cartridge support.

Van hit9918

Prophet (2932)

afbeelding van hit9918

10-03-2015, 23:42

keyword DMA.
a 8253 timer interrupt chip practicaly gives digi DMA and it makes the AY do wild thing like atari ST.

questions.
does a plain old rs232 cartridge have this interrupt.
would I get something when trying that expansion in openmsx.
do pac extensions have this chip.

Van hit9918

Prophet (2932)

afbeelding van hit9918

10-03-2015, 23:55

DMA does not fit the MSX slot model.
there is no path from slot to slot. selecting a slot needs PPI A8 and FFFF action.
there would need to be a DMA chip in same place where the z80 sits, on the motherboard, not in the cartridge.

Pagina 5/24
1 | 2 | 3 | 4 | | 6 | 7 | 8 | 9 | 10