How is that possible?

Page 4/4
1 | 2 | 3 |

By erpirao

Paragon (1259)

erpirao's picture

06-12-2020, 13:13

new answer in the video.

All CPU instructions are executed on Z80 20MHz except range of EDC0 ~ EDFF.
These instructions (EDC0 ~ EDFF) are a sort of multiplication & division including R800's multiplication.
They are executed on Z280. And switching CPU is done by H/W like a co-processor, so new S/W can use these extra instructions easily.

By erpirao

Paragon (1259)

erpirao's picture

25-12-2020, 20:14

By mohai

Paladin (968)

mohai's picture

24-12-2021, 09:55

Any news on this?

By sdsnatcher73

Prophet (3221)

sdsnatcher73's picture

24-12-2021, 14:41

I heard a while back that v1 design was scrapped (well that may be overstated, it was not taken into production any ways) and a new v2 design was in the works.

By mohai

Paladin (968)

mohai's picture

18-05-2022, 18:26

Any news on this?

By Metalion

Paragon (1509)

Metalion's picture

19-05-2022, 11:10

The latest news, from 2021/06/17 :

Sharksym wrote:

SLT-Turbo Production #9 - V2 Changed Look

Where should V2 go? I've been thinking a lot about it~ hehe.
Just to summarize...

1. Abandon the extended instruction of Z280

The R800 has only two multiplication instructions added from the Z80, but the Z280 has many instructions added.
Multiplication and division instructions can be used to quickly run various calculation routines.

As you can see from the R800, there are very few programs that even use two-added multiplication.
From the S/W developer's point of view, rather than a program for a small number of TurboR users,
It is clear that many users will use it when it can be used at the general MSX2 level.
For reference, it is rarely used in existing TurboR programs. There are no commercial programs at all.

The R800 command is used in the M file manager I made, ASO remake, etc.
The feedback I get back is usually something like this:
> Please make it for general MSX2. It would be better if it could be done in MSX1 as well.
> The V9938 looks good enough, but why is it Turbo R only? Have you not tried Arest?

what is it -_-

But in the case of the Z280, the situation is even worse, because the problem with this is that I am the only developer.
In the end, we removed the Z280 chip and implemented only the R800 multiplication instruction as logic to maintain TurboR compatibility.

2. To support high-speed BUS?

I worried a lot about this.
Because SLT-Turbo V1 is only upgrading to A1GT level,
The external slot keeps the 3.58 MHz BUS intact. It's the same as turbo egg~ hehe.
This method is good for maintaining H/W compatibility, but it is not easy to utilize a faster system.
Simply put, it operates at high speed only when using the built-in memory and built-in device.

After all, when making an external device, it has to be designed in consideration of turbo R from the beginning, but that is ambiguous.
In particular, it is completely fatal if it operates independently from the outside like a video card.

Actually, as far as I know... The only devices optimized for TurboR are MMC/SD V3 and V4.
V2 runs faster on A1WX half turbo (5.37 MHz) or 1chipMSX turbo (8.06 MHz),
V3 and V4 are much faster in TurboR's high-speed mode (external 3.58MHz).

If so, what if we allocate a slot that can use 20MHz high-speed BUS separately?
The easiest way is to make the entire external basic slot, SLOT 1 or 2, at high speed.
Since MSX has 16 slots, do you think it would be okay to allocate one external basic slot (4 sub)?

However, due to cartridge compatibility, SLOT 1 has to be completely removed with one basic slot.
Then there is only one SLOT 2 left.
SLOT 0 and 3 are mostly occupied by BIOS and built-in S/W, so do you want to have two sub-slots left?
Then, if you do SLOT 2 at high speed, there are not many slots for external peripherals.
In my case, at least T-Wave, FontPack, MPX, and MoonSound should always be plugged in, so SLOT 2 is always full.

It is judged that it is unreasonable to allocate a high-speed external slot.
In the end, we agreed to turn only the inside at high speed. (I agree by myself.)

I've been using GT for nearly 20 years, but MSX's fate is that the external slots must be maintained...

3. Built-in devices that utilize high-speed mode

So, what are some of the best ways to use the high-speed mode when adding a built-in device?
The first thing that comes to mind is disc, video, and audio, right? hehe

3.1 disk drive

In SLT-Turbo V1, a DOS2-compatible kernel similar to TurboR is installed in SLOT 3-2.
Instead, FDD is designed to go through the disk ROM of the host body.
In case you don't understand it, consider the V-Disk function (host disk mapping) of paraMSX-R.
It's just like that! hehe

Of course, this state has absolutely nothing to do with high-speed mode.
Perhaps even just using it will depend on an external disk device like MMC/SD.
So, SLT-Turbo V2 uses the built-in SD card in the SLT-Turbo instead of the main body FDD.
By the way, the name of Yonom is SLT-Drive.

3.2 Video

It took a lot of time to design because of you. It went like this and that and it came and went~
The SLT-Turbo looks like a peripheral that plugs into the MSX body, but...
Actually, this guy is the main device, and the host body is used as an external peripheral device.
The most important parts of the host are video (VDP related), keyboard and PSG.

So, what video functions are supported by SLT-Turbo?
It is the same as the VDP (V9938/9958) of the main body to create the base screen of MSX.
The video added to SLT-Turbo is a method of overlaying a new video on the screen of the existing main body.
So, it receives the RGB input of the main body, puts the SLT-Turbo video (tentative name SLT-Video) on top, and outputs it together.

The color format is RGB555. The pallet is 8 BPP.
In the palette mode, compatibility with the existing Screen 8 mode is possible, and screens such as the 15BIT bitmap of V9990 will be possible.
Interlace mode maps addresses linearly rather than splitting field memory.
Overlaying multiple pages (Max. 4), scrolling, splitting the screen, etc. are supported by H/W.
The set of palettes is almost unlimited.

The details will be explained separately in the SLT-Video section later, but
First of all, remember to allocate and use main RAM... Similar to ioremap.

For reference, it is also possible to set the aspect ratio of the SCART output.
You can change the 4:3 and 16:9 settings, so you don't have to write letterboxes or cut the screen when making girl group music videos.
If you are using a Japanese-made monitor, it probably won't be supported.

3.3 Audio

I've been using Junsoft's MPX so well over the past decade, so I thought about just putting the VS10x3 chip in it.
This is a structure in which the parser, decoder and renderer are combined, so it seems ambiguous to use it as a built-in device...
I'm just going to add an audio DAC.
I used the method of attaching the easily available PCM5102 module.
If the module is discontinued, you will have to draw a circuit... But first, in the direction of reducing the soldering effort~ hehe.
The detailed function will be discussed separately in the audio section. (tentative name: SLT-Audio)

Until now, the RGB + audio of the 8-pin DIN terminal is left as it is.
Only the audio from the sub slot of the SLT-Turbo and the SLT-Audio are mixed and output to the 3.5 pi jack.
I think it will be easier to balance the audio of the main body and the audio of the SLT-Turbo side by doing this.
Of course, you must have an external mixer.

4. DMA controller

MSX1,2 is a very cheap home computer specification, so DMA is not in the specification.
I don't even have a turbo egg haha

In SLT-Turbo V2, DMAC is simply inserted to relieve the CPU burden.
It can be useful for video and audio processing.
T-Wave's DCSG port, stereo DAC port, or Covox port can also be used.
(Of course, there is a high probability that I will use it alone... lol)

5. I/O memory remap

The built-in memory of the SLT-Turbo is 4096KB.
This is the maximum size supported by a single memory mapper.
Video and audio devices added as built-in devices do not have a separate local memory,
Main memory is allocated and used.

It would be nice to create a separate memory manager, but when I see a lot of developers who don't even use the existing memory mapper extended BIOS...
If you make more, it will only increase the effect of distracting you from interest, right?

You can allocate and map as many as you need from video and audio.
For example, in the case of V9938, screen 8 has only 2 pages (64KB x 2),
You can make a lot of SLT-Video within 4MB.

Page 4/4
1 | 2 | 3 |