Jump to content
IGNORED

New GUI for the Atari 8-bit


flashjazzcat

Recommended Posts

Rewriting the menu handler took a long time, so nothing to download for a few more days yet, I'm afraid. The need to split the menu bar into different sections (with different owners, defining their menu bars in different physical banks of RAM) meant I had to come up with a linked list structure to string them all together into a single graphical entity. Previously, the menu bar was just seen as a normal menu with the items laid end-to-end, but no more. Fortunately the changes will make contextual menus much easier to handle.

 

post-21964-0-26591700-1410730294_thumb.png

 

So - the menu bar belonging to the application with the focus is now swapped in contextually. Moreover, there are now three different classes of menu bar which can be registered: System, Application, and "Menulet".

 

post-21964-0-38454600-1410730295_thumb.png

 

System and Menulet menu bars always have just one item (the Atari logo menu in the case of the System menu, and an 8x8 icon or string for a Menulet bar - the clock being a Menulet menu bar), and Application is where you put File, Edit, etc. Although space is limited, any process can register any menu type. As it happens, the "shell" registers three: the System menu, its own application menu, and the task/window menu next to the clock. The clock is registered by the clock process, which gets a menu event when the user pulls its menu down and chooses an item.

 

A process can update its menu at any time; changes to System and Menulet types are rendered immediately; changed Application menus show up the next time the application gets the focus. Mentlets are the only type with distinct register/update functions, since several menulets can be added (new ones appear between the leftmost menulet and the application menu) and this causes the size of the application menu to be reduced. There's nothing in place to deal with an application menu running out of space, but I'll worry about that later on. I can't see there ever being more than 3-4 Menulets.

 

I'm not adding all this stuff just for the sake of prevarication, BTW: I consider the contextual menu bar a basic requirement for the next demo, even if I don't get the other panes of the task manager done before I put something out. Still a few bugs to fix, anyway, and some UI niggles to sort out, but this work on the menu bar always felt like a big hurdle coming up, and I'm glad it's done. :)

  • Like 7
Link to comment
Share on other sites

I went back and cleaned up the icons in some of the designs I did over the last few days.

 

I also noticed I had a little mixture of 2D and 3D style icons together. So I did completely separate designs for the 2D and 3D styles, which gives each design a more consistent look.

 

 

2D 16 x 16 Icon Style

 

post-6369-0-77906400-1410741923_thumb.png

 

post-6369-0-49776700-1410741909_thumb.png

 

 

3D 16 x 16 Icon Style

 

post-6369-0-15030300-1410741842_thumb.png

 

post-6369-0-04847600-1410741827_thumb.png

 

 

 

2D Larger Bitmap Icon Style

 

post-6369-0-03139500-1410741748_thumb.png

 

post-6369-0-73938400-1410741732_thumb.png

 

 

3D Larger Bitmap Icon Style

 

post-6369-0-31960500-1410741666_thumb.png

 

post-6369-0-68539200-1410741644_thumb.png

Edited by MrFish
  • Like 3
Link to comment
Share on other sites

It might be a bit early in the process and I'm not sure if the memory buffering can account for this,as yet, but a simple, yet effective demo, would be having two documents opened up and then cutting and pasting text from one document to the other document, saving the destination document, closing it and reopening it to show that the changes had been succesfully made. Basically, an implementation of a clipboard. This is probably the most common use scenario...though maybe it is best served by a dedicated app, like TLW.

Link to comment
Share on other sites

It'll be good when we reach that stage, since it'll mean the thing's nearly finished (file system done, multi-line text control written). A demonstration of the clipboard we could produce sooner would be copying some text from a single-line text control in one window to another.

Link to comment
Share on other sites

Today I received Atarimax 8Mbit Flash cart.

 

Feel free to release the demo! :D

I will be delighted to prepare it once I have finished copying these five VHS home movies I promised to convert for my father. The software supplied with the EZCap capture device was crap, and everything else free either didn't work or produced jagged interlacing defects. Fortunately the solution was under my nose the whole time: good old VLC Media player, which captures beautifully from the input device.

 

However - I am now commencing the first tape, and although each one will hopefully capture unattended, someone's expecting their laptop fixed. I'd rather be working on the GUI, believe me. :)

  • Like 2
Link to comment
Share on other sites

I will be delighted to prepare it once I have finished copying these five VHS home movies I promised to convert for my father. The software supplied with the EZCap capture device was crap, and everything else free either didn't work or produced jagged interlacing defects. Fortunately the solution was under my nose the whole time: good old VLC Media player, which captures beautifully from the input device.

 

However - I am now commencing the first tape, and although each one will hopefully capture unattended, someone's expecting their laptop fixed. I'd rather be working on the GUI, believe me. :)

Interesting - I have never captured via VLC.

Link to comment
Share on other sites

Interesting - I have never captured via VLC.

I had a light bulb moment when I remembered an article I'd read in Micro Mart years ago. It went into some detail about the fact VLC could basically do everything video related, including live streams and encoding. And - now I look - this is indeed the case. What a wonderful program.

Link to comment
Share on other sites

I had a light bulb moment when I remembered an article I'd read in Micro Mart years ago. It went into some detail about the fact VLC could basically do everything video related, including live streams and encoding. And - now I look - this is indeed the case. What a wonderful program.

 

You might also like VirtualDub by the one and only phaeron, author of Altirra.

  • Like 1
Link to comment
Share on other sites

Just trying to do what I can when I can, and it didn't take long to get the tab control working:

 

 

I want the "processes" tab done (with CPU usage for each task) before release at least. That won't take many hours, but there are bugs to fix too and some robustness to add before I let anyone loose on it.

Edited by flashjazzcat
  • Like 13
Link to comment
Share on other sites

Just trying to do what I can when I can, and it didn't take long to get the tab control working:

 

 

I want the "processes" tab done (with CPU usage for each task) before release at least. That won't take many hours, but there are bugs to fix too and some robustness to add before I let anyone loose on it.

 

F-SICK (!)

 

Can't wait to test-drive it for a while on either the Incognito-800.

 

It is practically incredible that this thing runs on a 1.7+ Mhz, 8-bit, 6502... Talk about a MONUMENTAL feat, here, in every step of the way.

 

Bring it on!

  • Like 4
Link to comment
Share on other sites

Yes: that's why I spent a couple of months trying to write the kernel so it would work right first time, and with a reasonable degree of success. This bug was caused by stuff I forgot to remove later on when I made changes to the message queue (basically adding per-process head and tail pointers). It's sheer punishment trying to trace faults in half a dozen doubly linked lists, head and tail pointers, pending message counts, sender IDs, etc, amidst context switches, even with Altirra's incredibly powerful debugger. It was easier to just rewrite the problematic sections. I'm fairly pleased that the kernel is completely functional and - now - robust, only six weeks after it was tested for the first time with just a blank desktop, menu bar, and nothing else. I see the first real hardware test was on 26 August too, so it's been moving along for a few weeks.

Edited by flashjazzcat
  • Like 1
Link to comment
Share on other sites

No, actually, you hadn't mentioned it, in fact, you said something like that you'd be happy to add the driver support, ha.

 

Just to be clear, I was describing using the light pen as an alternative to using the mouse to control the pointer in the GUI, not as a tool for a drawing program.

 

The light pen does not have the same fixed horizontal limitation as the tablet.

 

Check the section: "HORIZONTAL/VERTICAL POSITIONING" at http://www.atarimagazines.com/v3n1/lightpen.html

 

 

"The light pen's horizontal position is linked to color clock units."

 

 

"...values are independent of the graphics mode being used, so it's necessary to scale the pen's readings to match the correct screen positions for the graphics mode in use."

 

Seems like it would work fine, as long as there was a driver.

Link to comment
Share on other sites

No, actually, you hadn't mentioned it, in fact, you said something like that you'd be happy to add the driver support, ha.

I mentioned the resolution issue here, which I covered again in post 3023.

 

The resolution issue was mentioned again here.

 

Just to be clear, I was describing using the light pen as an alternative to using the mouse to control the pointer in the GUI, not as a tool for a drawing program.

Understood, but I imagined drawing would be a primary use for such an input device.

 

The light pen does not have the same fixed horizontal limitation as the tablet.

 

Check the section: "HORIZONTAL/VERTICAL POSITIONING" at http://www.atarimagazines.com/v3n1/lightpen.html

 

 

"The light pen's horizontal position is linked to color clock units."

 

 

"...values are independent of the graphics mode being used, so it's necessary to scale the pen's readings to match the correct screen positions for the graphics mode in use."

 

Seems like it would work fine, as long as there was a driver.

Yep - it'll work fine, but since the coordinate system is tied to colour clocks, the mouse position will only be accurate to every alternate horizontal pixel. I don't really see how it's any different from the touch tablet in that respect.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...