SMSQE in MisTer

Nagging hardware related question? Post here!
Tinyfpga
Gold Card
Posts: 252
Joined: Thu Sep 27, 2018 1:59 am

Re: SMSQE in MisTer

Post by Tinyfpga »

I think I have enough patience.

I have just tried my setup in your QPC, set to 8MB, 65536 colours and 1024 x 768 resolution. I am running my SMS2
BASIC programming environment and 12 other jobs. There are 48 Things installed and your transparent all-window move system works fine. This uses only half the available memory.

Could one not create a GPU in FPGA with VRAM access to solve the display problem?


User avatar
mk79
QL Wafer Drive
Posts: 1349
Joined: Sun Feb 02, 2014 10:54 am
Location: Esslingen/Germany
Contact:

Re: SMSQE in MisTer

Post by mk79 »

Tinyfpga wrote:I have just tried my setup in your QPC, set to 8MB, 65536 colours and 1024 x 768 resolution.
In this scenario your VRAM is 1.5MB big. Which means you can have 3 full screen PE windows before the RAM is starting to get exhausted.
I am running my SMS2 BASIC programming environment and 12 other jobs. There are 48 Things installed and your transparent all-window move system works fine.
Just for the record, that transparent move was implemented formidably by Wolfgang :-)
Could one not create a GPU in FPGA with VRAM access to solve the display problem?
What display problem? The way the PE works you just need enough RAM, nothing less, nothing more. Of course some sort of blitter could help moving all the data about, but that is purely a speed issue.


User avatar
desin
Chuggy Microdrive
Posts: 50
Joined: Mon May 10, 2021 10:33 am

Re: SMSQE in MisTer

Post by desin »

you have two alternatives for SMSQE on the Mister

the AtariST core,recent SMSQE, monochrome 640x400, but no media access (yet)

the AO486 core, QPC1,QL colours 640x480, QXL.win inside a .VHD ,readable Floppy.img
20211007_001505-screen.png
20211007_001505-screen.png (1.39 KiB) Viewed 1890 times
20211007_001505-screen.png
20211007_001505-screen.png (1.39 KiB) Viewed 1890 times
Attachments
20211007_003831-screen.png
20211007_003831-screen.png (1.16 KiB) Viewed 1890 times


Tinyfpga
Gold Card
Posts: 252
Joined: Thu Sep 27, 2018 1:59 am

Re: SMSQE in MisTer

Post by Tinyfpga »

Forum contributors must realise that I do not know much, so my posts are likely to contain nonsense. The thing that drove me to join this forum for QL enthusiasts, is my conviction that TT's post-QDOS work is important. The QL compatible version of SMS2, namely SMSQE, has kept some of his ideas going through the hard work of some key QL users, most of whom use this forum.

I am sure that readers of my posts realise that the QL does not really interest me. What interests me is a potential advanced replacement embodying TT's ideas first expressed in the QL. In his absence and in the absence of any interest elsewhere, I think that a future may lie in the development of systems in FPGA. The majority of the people with even a remote interest or knowlege in his work are here on this forum. So, on to more of my contrarian thoughts:-

Firstly, thank you Desin, for your screen shots. When the Mist first came out I bought some and managed to get SMS2 (in floppy disc format) to run on it in 640x400 monochrome form. I had not thought about doing the same in MisTer but now that I see that you managed to get SMSQE to work using the ST core I have changed my mind and will be buying a DE10.
Is there any chance that you could post step by step instructions on how to install the Atari ST version of SMSQE?

Secondly, I had to think about my casual "display problem" remark. It is noticeable that executable programs stop executing when moving or resizing a window. This might be seen as a problem. I have checked if programs running in the background also stop and found that they do. This could be classed as a serious problem for a multi-tasking system

As it happens I never execute full screen windows on SMS systems and so I am less likely to use large amount of RAM than those that do. If I am going to run more than one application at once I like to see them all at the same time because I mostly reference information from one to use in another (as I am doing at the moment on my laptop).

The other problem, I was trying to get grips with, was if one was going to use expensive SRAM for system and to a lesser extent application execution one might need access (maybe via a second processor) to much cheaper DRAM for HD video display.

Such a processor (the SLICK processor) was proposed by TT years ago and I assume it would have been compatible with his system technology. The SLICK processor was designed to do in hardware what is currently being performed in software but with many advantages other than performance. It accessed its own and separate memory. (if my own memory serves me right)


User avatar
tofro
Font of All Knowledge
Posts: 2685
Joined: Sun Feb 13, 2011 10:53 pm
Location: SW Germany

Re: SMSQE in MisTer

Post by tofro »

One of the original design decisions of the extended environment was the limitation that programs that didn't own the screen (i.e. not currently run in the foreground) are suspended. Not uptading background windows simply relieves the system from determining what windows need to be updated and what part of that window is currently visible. This is obviously a bit of a heavy task for a poor 68008 CPU.

Later versions of the extended environment can lift this restriction (because they typically run on CPUs with a bit more oomph). You can ask the OS to update windows in the background with the command

Code: Select all

PE_BGON
and switch it off again with

Code: Select all

PE_BGOFF
Allowing background window updates also lets all background processes continue, even it they are doing screen output.


ʎɐqǝ ɯoɹɟ ǝq oʇ ƃuᴉoƃ ʇou sᴉ pɹɐoqʎǝʞ ʇxǝu ʎɯ 'ɹɐǝp ɥO
Tinyfpga
Gold Card
Posts: 252
Joined: Thu Sep 27, 2018 1:59 am

Re: SMSQE in MisTer

Post by Tinyfpga »

Thanks for the info. I will try it out later today.


User avatar
mk79
QL Wafer Drive
Posts: 1349
Joined: Sun Feb 02, 2014 10:54 am
Location: Esslingen/Germany
Contact:

Re: SMSQE in MisTer

Post by mk79 »

Tinyfpga wrote:Thanks for the info. I will try it out later today.
The standard window move and resize you mentioned will still block all other jobs from updating. The whole window move routine simply disables multitasking until you release the window. Maybe that could be improved, but we're not exactly swimming in developer power.

The QDOS/SMSQ/E design was way ahead of its time, but that time was 20 years ago. Still, his foresight allowed us to push the system much further without many compatibility problems, be it the high colour WMAN or the mentioned background window refreshing, both implemented by me. But if you compare it to contemporary systems it will always lose, especially in the field of UI and multimedia. Case in point, I recently implemented two forms of music output, sampled MOD files and AY synthesizer files. It's impossible to ensure that the music keeps playing under all circumstances. With the system design as it is, everybody can disable multitasking at any time and that more or less is a feature, but it also makes some things impossible that look easy on other systems.
The other problem, I was trying to get grips with, was if one was going to use expensive SRAM for system and to a lesser extent application execution one might need access (maybe via a second processor) to much cheaper DRAM for HD video display.
For me that's the wrong way around. Video memory must be read often and is smaller than main memory, so IMHO I would put the VRAM in SRAM and the rest in cheaper DRAM.


User avatar
RalfR
Aurora
Posts: 870
Joined: Fri Jun 15, 2018 8:58 pm

Re: SMSQE in MisTer

Post by RalfR »

Is it so, that moving the window complete is 6 or 4 pixel wise? I seem to have imagined that.


4E75 7000
Tinyfpga
Gold Card
Posts: 252
Joined: Thu Sep 27, 2018 1:59 am

Re: SMSQE in MisTer

Post by Tinyfpga »

I tried PE_BGON and it made no difference. As MK writes:- "move and resize simply disables multitasking".

You (MK) write that:- "everybody can disable multitasking at any time". Do you mean that one can disable multitasking by mistake, which I would class as bad design or do you mean that one can deliberately disable multitasking, which is merely a rather odd feature. Why would anybody chose a multi-tasking OS only to then disable its key attribute.

When it comes to User Interfaces and multimedia I have the following opinions:-

Things like scaleable fonts, wizo buttons, graphic objects etc. etc. are attractive and useful but I am not sure that they are essential.
Their inclusion in an OS massively increases its size and it is the tinyness of SMS that is so appealing.

As you say these sort UI capabilities are missing from SMS but when it comes to User System Interfaces (rather than application UIs), I find mainstream keyboard based desktop interfaces to be rather weak (apart from drag and drop which would/might be useful)

Clearly multimedia is an impractical activity on SMSQE but when it comes to USIs, I like my SMS2 interface so much I do my best to make my PCs look and feel like SMS. I sometimes remove the Windows desktop and use hot-keys to access my applications just to see how good the SMS UI is.

I do not find Android, Linux or Apple UIs particularly easy to use. They look good but scratch the surface and very rapidly one can get confused or lost. Are windows 8, 10 and 11 really any easier to use than 7! Is writing on a touchscreen only device a satisfactory alternative to a keyboard!
When it comes to UIs the issue is not so clear-cut.

Given the shortage of developer power (presumably measured in TTs), have you (MK) ever thought of collaborating with Peter Graf on 68000 based FPGA systems, with or without SRAM?


User avatar
mk79
QL Wafer Drive
Posts: 1349
Joined: Sun Feb 02, 2014 10:54 am
Location: Esslingen/Germany
Contact:

Re: SMSQE in MisTer

Post by mk79 »

Tinyfpga wrote:You (MK) write that:- "everybody can disable multitasking at any time". Do you mean that one can disable multitasking by mistake, which I would class as bad design or do you mean that one can deliberately disable multitasking, which is merely a rather odd feature. Why would anybody chose a multi-tasking OS only to then disable its key attribute.
That anybody can temporarily disable multitasking is one of the key design elements of QDOS and SMS. It makes these things simpler to write and other things impossible to write. Again, for the time and constraints back then it was the reasonable option.
I do not find Android, Linux or Apple UIs particularly easy to use.
You're spanning a wide range here, from Linux to iOS. But my mother can use her Apple devices, which is a true testament to their usability...
Given the shortage of developer power (presumably measured in TTs), have you (MK) ever thought of collaborating with Peter Graf on 68000 based FPGA systems, with or without SRAM?
For what end? Q68 does exist, MiSTer does exist.


Post Reply