Jump to content
IGNORED

New GUI for the Atari 8-bit


flashjazzcat

Recommended Posts

I vastly prefer versions that have a blacked out area with white ticks for the graph, vs. a black-bordered, white area with black ticks.

 

Me too, and I still like the 'heart monitor' graph as well. Maybe we do need 'Graph type' in the menu after all. :)

 

I prefer the white graphs with black bars/ticks, but mostly only when used in conjunction with the solid black headings. The white graphs were designed specifically to be used with these, and although I've tested them out using different types of headings, some of which look pretty good, they're more suited for the solid black headings because the two balance each other out. So for the other heading styles, I prefer the black graphs with white bars/ticks, since the black graphs balance them out better. I'd say the last one that I posted with black graphs is probably the nicest of that style, but I don't really like the percentage inset into the graph because it can possibly overwrite portions of the history.

 

The two below are probably my favorites so far, which are slightly scaled down versions of one I posted earlier.:

 

post-6369-0-26424500-1410233740_thumb.png

 

post-6369-0-83206400-1410234173_thumb.png

 

 

Note: selected tab has 1px upper border in the actual dialog.

 

You prefer this style (1px) so far?

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

Yes - that's why it's 1px in the actual dialog. The 2px border isn't needed.

 

No, I suppose it isn't needed. But I think it's desirable to have some way to set off the selected tab other than just moving it up and removing the line under the label. In Windows 7, for instance, a selected tab is the color of the content background, whereas the unselected tabs are grey. We probably can't do something like that, but having a double line achieves a similar effect. I suppose your choice against it may be partially down to your overall dislike for GUI designs that use double lines. Well, there are more ways to skin a cat than just one. Below are two other methods:

 

post-6369-0-27923700-1410275560_thumb.png

 

post-6369-0-54385600-1410275548_thumb.png

Link to comment
Share on other sites

Can't believe it took all night to get one tab of a dialog box to look right, but after endless experimentation, I decided MrFish's graph scale is actually very pleasing. My minimalist instincts said no (that the graph was intuitive enough, and required no more than dots to mark the half and quarter extents), but after actually trying half a dozen different working layouts, I think the numbered scale ads interest and balance:

 

 

You'll see both graph styles there, and I still like both, for different reasons. The line graph has triple the horizontal and double the vertical resolution of the block style, but the blocks are kinda cool - and they're seen in Mac OS X. :) I think the black-on-white variants are worth implementing too, so that's at least four graph styles in the preferences (once I get the task manager's application menu to come up, which is the next job).

 

The RAM graph is non-changing at the moment, and will obviously eventually mimic the style of the CPU graph.

 

Simply coming up with the optimal graph size, borders, margins, control layouts, etc, is absolutely painstaking when you have to code/compile/test every time just to tweak the position of something. In any case: the numbered scale is a 14px by 53px bitmap control, instanced next to both graphs. The graphs are 40x53 bitmap controls, with the outer 1px on all edges being a border. The writeable region is 51px high since 0-100 per cent divided by 2 maps perfectly to this size, without any look-up-tables. Every time a fresh sample is ready, the task manager wakes up, updates the percentage strings in its own resource area, updates and scrolls the graphs, then sends redraw requests for four controls (two graphs and two strings) to the UI manager. Currently it's sending four messages, but I'll update the widget redraw function so that it redraws a number of consecutive controls, and this will reduce the kernel calls by 75 per cent.

 

Nothing's set in stone (and there are two more tabs to do yet), but obviously many thanks to MrFish for his visualisations (the graph scale is per his design, verbatim). This has proved a difficult one to get right, but I know he'll agree when I say it's well worth the time spent. :)

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

Really the lower panels still need titles since the number of tasks and timers is relevant not only to the CPU but to memory usage as well.

 

Relevant, yes, but have you seen the Windows 8 Task Manager? They have the same information presented/grouped as above. Not that Windows 8 is any standard I want to follow, but the new Task Manager is pretty cool.

Edited by MrFish
Link to comment
Share on other sites

...have you seen the Windows 8 Task Manager?

I hadn't, but I've just had a look. It is nice, and seems to have taken cues from the Mavericks Activity Monitor. Linux task manager is probably worth a cursory look as well.

 

Anyway: I'll come back to this later on. I've OD'd on the task manager's monitor panel for the moment.

Link to comment
Share on other sites

Just stay away from GNOME 3. I've followed that whole project since 1996, and they seem to learn absolutely nothing when it comes to usability. They at least had something that worked well in GNOME 2, but with the rewrite, they've gone careening off the cliff, making a UI that isn't quite a desktop UI, isn't quite a tablet UI...

 

http://www.gnome.org/

 

-Thom

Link to comment
Share on other sites

Just stay away from GNOME 3.

I had Googled "Linux task manager" since I don't have a Mint install to hand at the moment. This is the one I meant:

 

xfce4-taskmanager.png?cache=cache&w=510&

 

 

btw. just wondering about PAL artefacts on TV monitors?

Yeah, you'll get artefacts via A/V unless you do something about it. Someone on Facebook who routinely likes to tell people how to enjoy the hobby reckoned poor video quality on the A8 was reason enough to junk the project. However, it's clearly up to the user to sort their video out if they're not happy with it. I'm not gonna make all the vertical lines two bits wide. ;)

Edited by flashjazzcat
Link to comment
Share on other sites

Just stay away from GNOME 3.

Just use whatever comes with fedora or CentOS and derivatives. Other linux flavors may be cool, but I've never seen anyone make any money with anything other CentOS w/ SELinux

 

FreeIPA, Zimbra, XenServer, and VMWare are prime examples.

 

DAMMIT I forgot what thread I was in... BTW great job Jon! /highfive

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

Took almost four hours to fix this bug:

NoFreeSlot ; no free stack slots, so look for sleeping or lowest priority task using stack
	lda #1
	sta KernelPtr2 ; slot # of lowest priority process (0)
	sta KernelTmp3 ; priority base value (1)
	ldx #4
SlotLoop
	ldy StackSlot.IPID,x ; IPID of process in stack slot
	lda Process.State,y
	beq CacheStack ; if we find a sleeping process
	lda Process.Priority,y ; we may need to know lowest priority task
	cmp KernelTmp3
	bcc @+
	sta KernelTmp3 ; lowest process priority
	stx KernelPtr2 ; slot # of lowest priority process
@
	dex
	bne SlotLoop

	ldx KernelPtr2 ; no sleeping tasks, so just replace lowest priority task's stack

	ldy StackSlot.IPID,x ; BUG FIX - this was missing

CacheStack
	stx KernelTmp1 ; save stack slot
	lda #0 ; say outgoing process's stack is cached
	sta Process.StackSlot,y

	...

Y contains the PID of the process whose stack we want to cache out all the way through the loop, but NOT if we fall into replacing the stack belonging to the lowest priority process. In that case (because of the missing Y load instruction), the outgoing stack was going into the wrong process's stack buffer, which was obviously catastrophic. Starting at the crash location and tracing back, it took fair while to even realize that the idle task's stack frame was the wrong size (nine bytes instead of six), let alone figure out why. That one's been lying there for a couple of months waiting to pounce. :)

 

  • Like 1
Link to comment
Share on other sites

Just use whatever comes with fedora or CentOS and derivatives. Other linux flavors may be cool, but I've never seen anyone make any money with anything other CentOS w/ SELinux

 

FreeIPA, Zimbra, XenServer, and VMWare are prime examples.

 

DAMMIT I forgot what thread I was in... BTW great job Jon! /highfive

 

I make money running FreeBSD and Windows Server 2008 VM's on top of VMWare ESXi that provide many services for our 36 sites. And none of them have GNOME set up. Current versions of GNOME are an abomination. I use the WindowMaker window manager and dfm if I need a GUI. And you can get plenty of support for distros that aren't derived from RedHat. The only thing special about RedHat was that it had the first graphical linux installer. RPM sucks as well compared to APT or the FreeBSD ports/packages collection. CentOS and RHEL are NOT the end-all-be-all of UNIX/Linux server distros, in fact, they are terrible in several ways. FreeBSD also offers very nice Linux binary compatibility, better documentation and a more mature codebase dating back to the 70's.

 

Anyway, the Task Manager looks awesome FJC! Those window redraws looked real snappy too!

Link to comment
Share on other sites

Windows 8 style, with a couple of selection types:

 

[Note: Thumbnails, but we can go with icons if you want to Jon.]

 

 

Very nice! :) Thumbnails / icons matter is purely down to CPU load, since the monitor should really consume as few cycles as reasonably possible. I've come up with yet another modification to the bitmap rendering routines which has greatly simplified and speeded rendering, so that might help (all graphics now have a complete, pre-clipped foreground and background mask at their disposal, which transparently takes care of objects which are partially off-screen. The graph bitmap renders about 30 per cent faster now, and the masks - which are changed incrementally - are set up by prior to rendering, if the object isn't already clipped out of view).

Link to comment
Share on other sites

Very nice! :) Thumbnails / icons matter is purely down to CPU load, since the monitor should really consume as few cycles as reasonably possible.

 

Sure, I was just going for a one-to-one mockup for starters. It's a big benefit to see thumbnails, for seeing all the action at once; plus you could use it for the "less detailed view" and just have the thumbnails shown. But yeah, that's five graphs to update.

Link to comment
Share on other sites

I still remember attending a lecture given by Dr. Alan Kay, when he posed a question regarding Doug Engelbart's system, remarking on how fast and responsive it was, for a machine that had roughly the half the computing power of a 512K mac.

 

He asked, "Why do you think it was so fast?"

 

It was a long pause, before somebody raised their hand and said,

 

"Because they wanted it that fast."

 

Alan Kay simply smiled, and said, "Yes."

 

-Thom

Link to comment
Share on other sites

Windows 8 style, with a couple of selection types:

 

[Note: Thumbnails, but we can go with icons if you want to Jon.]

 

attachicon.gif8 TM Graph - Preliminary 2a (Scaled).png

 

attachicon.gif8 TM Graph - Preliminary 2a1 (scaled).png

 

I tried to do a search to see if it's been asked before, nothing came up:

 

Would it be possible or feasible to add color using player/missile overlay?

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...