Jump to content
IGNORED

New GUI for the Atari 8-bit


flashjazzcat

Recommended Posts

@Prodatron: does the "super-window ID" in a window record comprise the only hierarchical link in the application/window layer structure? I assume super-window 0 is the desktop. This seems a reasonable and capable way of maintaining parent/child relationships in a simple linked list of windows, although a binary tree has been suggested as an alternative. I wondered how you see it.

Sorry, the term "super window" is a little bit stupid here. At the time when I named it like this I didn't know that it must be called "modal window". I really should correct the documentation.

So if you have a modal window in front of the main window (usually a dialogue/setting window, which should be closed before the user can access the main window again), its ID is stored here. In this case the desktop manager knows, that the main window is "protected" and will focus the modal window instead. The modal window itself has the flag "super window" set to 1.

Sorry for the confusion, I will change the naming now... :)

  • Like 1
Link to comment
Share on other sites

The performance of this thing is reaching the point where it's hard to believe on real hardware. I wish I had more to contribute than "oooh's" and "aaah's", but there they are anyway.

It's better than I hoped, and can certainly be improved further over time. All I can say at this stage is that the 6502 has really excellent interrupt latency, and that's being exploited to the full here.

 

Sorry, the term "super window" is a little bit stupid here. At the time when I named it like this I didn't know that it must be called "modal window". I really should correct the documentation.

So if you have a modal window in front of the main window (usually a dialogue/setting window, which should be closed before the user can access the main window again), its ID is stored here. In this case the desktop manager knows, that the main window is "protected" and will focus the modal window instead. The modal window itself has the flag "super window" set to 1.

Sorry for the confusion, I will change the naming now... :)

OK - thanks for the clarification. How about modeless windows which belong to a particular main application window? If we use the super-window tag to enforce backward links to the parent window (either the main application window or the dialog to which - say - an alert box belongs), it seems a quite versatile way of maintaining an application layering system. I'm assuming you're using a linked list of handles to window records, in any case.

Edited by flashjazzcat
Link to comment
Share on other sites

It's better than I hoped, and can certainly be improved further over time. All I can say at this stage is that the 6502 has really excellent interrupt latency, and that's being exploited to the full here.

 

 

Of course, the 6502 was designed as a microcontroller, to twiddle things on the other end of a PIA. ;)

 

-Thom

Link to comment
Share on other sites

holly Jesus... outstanding and really fast compared to the 8MhZ non-Blitter GEM.

 

This makes sense as ST is roughly 4 times faster with screen 4 times larger with system written in higher level programming lingo.

The demo does look like GEM with nvdi :) Can't wait to scribble a simple app for the system :]

  • Like 2
Link to comment
Share on other sites

Hey Prodatron,

Cheating your CPC ?

;-)

 

Stefan

Hey Stefan, nice to see you here! :)

IMHO regarding the design, the A8 ist the (??) best 6502 system ever, so I love to see the perfect GUI + multitasking system here! :) It's really nice to have somehow a "brother system" for the Z80 based SymbOS, and it's impressive, that it's possible on the 6502 as well!

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

Can applications (word processor, spreadsheet, paint program, calculator.. :grin: ) run from GUI's cart too?

When I have the tools to create a read-only filesystem on the cart, there's no reason why applications can't be placed on the ROM disk.

 

Was going great guns on the task manager tonight until the second monitor started playing up... put me off my stride. :mad:

  • Like 1
Link to comment
Share on other sites

Tested multitasking version on real hardware for the very first time:

 

 

Not much whizz-bang, but there are five running tasks and it works. :) Redraws are a little sub-optimal since some routines need grouping together in the same ROM bank in order to reduce banking overhead. This one's still using BRK kernel entry as well - mainly so I could see it working on a real 6502.

 

That is looking very... ST like. ;)

Link to comment
Share on other sites

The graph is even implemented from left to right! I did it from up to down as it made scrolling the display easier...

I assumed that was the reason. :) I just rotate the entire bitmap left and call a redraw.

 

Second graph is for RAM usage. Need tab control, frames, list box, etc.

  • Like 1
Link to comment
Share on other sites

Did you just confess to wasted cycles?

 

Not that I'm aware of. :) Scrolling the bitmap up would require a move operation, in this case of 96 bytes, moved down 4 bytes in RAM. The sideways scroll requires rotate left operations on 25 sets of four bytes. Since it happens once every couple of seconds when the task manager is running, it's definitely a "don't care".

Link to comment
Share on other sites

I think it's as accurate as it's going to get. If idle is running 70 per cent of the time, we can deduce the rest is IRQ (mouse, scheduler), NMI (mouse pointer, vertical blank), kernel entry/exit, and the inexact nature of measurement (i.e. sampling VCOUNT at the start and end of a task quantum).

Edited by flashjazzcat
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...