Jump to content
IGNORED

New GUI for the Atari 8-bit


flashjazzcat

Recommended Posts

There is a nice 3x5 font used on the instrumentation for this Atari 800 game. It's possible to have 80 characters in a row, and would be good for labels and such.

Have you checked out The Last Word? MrFish designed several dozen 3x8 fonts for LW, and has designed many "tiny" proportional fonts for the GUI which I haven't used yet. There's a 3x5 proportional font which will probably average out at 100 chars per line, for those who like that kind of thing.

Link to comment
Share on other sites

Looks really nice, Phil. I'm not too sure about the pin compatibility either.

 

I picked up this Amiga mouse for about 99p a few weeks back:

 

post-21964-0-16175000-1306785553_thumb.jpg

 

Fortunately fully compatible with the A8 (we just have to reverse a couple of bit readings in the mouse driver), and a damned close colour match.

Link to comment
Share on other sites

Have you checked out The Last Word? MrFish designed several dozen 3x8 fonts for LW, and has designed many "tiny" proportional fonts for the GUI which I haven't used yet. There's a 3x5 proportional font which will probably average out at 100 chars per line, for those who like that kind of thing.

The default font for The Last Word is incredibly legible, I can't wait to try it out on real hardware. What an amazing program! Extremely functional, clean interface. I had no idea...

Link to comment
Share on other sites

Have you checked out The Last Word? MrFish designed several dozen 3x8 fonts for LW, and has designed many "tiny" proportional fonts for the GUI which I haven't used yet. There's a 3x5 proportional font which will probably average out at 100 chars per line, for those who like that kind of thing.

The default font for The Last Word is incredibly legible, I can't wait to try it out on real hardware. What an amazing program! Extremely functional, clean interface. I had no idea...

MrFish did a characteristically superb job with the LW fonts.

 

I'm glad you like LW. In about two years' time, there'll be a version which runs under FibreOS... erm, oops, er, I mean the as yet untitled A8 GUI. ;)

Edited by flashjazzcat
Link to comment
Share on other sites

You can't use that name! FibreOS is the rebranded IOS I use for my network ;) j/k

 

However, if MG allows, I hear 'fibernutz' is available for 'ass-rig' replacement. That's the name of the convoluted connector driver to interface a Corvus Disk System to FJC GUI. :D

 

** blows brains out **

Link to comment
Share on other sites

You can't use that name! FibreOS is the rebranded IOS I use for my network ;) j/k

 

However, if MG allows, I hear 'fibernutz' is available for 'ass-rig' replacement. That's the name of the convoluted connector driver to interface a Corvus Disk System to FJC GUI. :D

 

** blows brains out **

Hey fibrewire - let me know if you want any of the config files I use for my Sparta DOS X & Last Word setup. The combo works great on an expanded RAM machine. My current daily use machine is a 320KB(Peterson) 130XE. Lets me edit 160KB documents in Last Word (or keep 10 16K documents open at one time).

 

Back to the GUI thread now - at least it's related by author :)

Link to comment
Share on other sites

FJC: I saw in your demo when you move a window, the other windows get exposed and get redrawn, so I suppose you're not giving each window offscreen mem to draw to which could then be blitted at any time, and wouldn't cause redraw events. I'm also guessing you're doing most of this procedurally (judging from the general negative response to OOP). So, I'm wondering how you'd tell a program to redraw itself? Are you using structures with user set callbacks, or not? Perhaps programs will have to implement a predefined API? Sorry if I sound confused (which I am). Give us your thoughts on this when you get a chance. Maybe this is still in design stages, people could help.

Link to comment
Share on other sites

FJC: I saw in your demo when you move a window, the other windows get exposed and get redrawn, so I suppose you're not giving each window offscreen mem to draw to which could then be blitted at any time, and wouldn't cause redraw events. I'm also guessing you're doing most of this procedurally (judging from the general negative response to OOP). So, I'm wondering how you'd tell a program to redraw itself? Are you using structures with user set callbacks, or not? Perhaps programs will have to implement a predefined API? Sorry if I sound confused (which I am). Give us your thoughts on this when you get a chance. Maybe this is still in design stages, people could help.

Perfectly valid questions/concerns. It's a tricky area, and certainly very much still in the design stage, but I'll try and explain where I'm at:

 

At the moment - no - the windows don't have off-screen memory. Everything's unbuffered and the client areas are simply clipped (although they employ a virtual coordinate system). So, in the case of the client area, the simplest scenario is that the window gets a redraw message and this causes the non-client area and the client area (perhaps an object sub-tree) to redraw, taking the window extent and origin into account. Of course this doesn't look so pretty when the windows are stacked.

 

But it's not procedural. The little demo app which runs those windows is just calling the event handler and requesting the new window coordinates for its own purposes after each event. Any object will redraw itself if you send it the appropriate message, each object having a render method. Regarding callbacks, every object has a callback procedure as part of its structure.

 

Dirty-rectangle lists (as well as being rather complex), seem to me like overkill for this system. A multi-plane layered buffering system would be desirable, but is RAM-hungry. Overlaying windows and their contents offscreen then blitting them across would probably look best of all.

 

I'm still playing with different approaches to this. If anyone has bright ideas about it, I'm all ears. :)

 

That menu bar needs to be at the top (above the window title bar).

No, it needs to permit the user to place it where the user wants it :P

That's probably too much to ask from an 8bit system with limited memory.

We're currently using the TOS/Mac ethos of a fixed menu bar at the top of the screen.

 

Wikipedia says: The built-in display was a one-bit black-and-white, 9 in (23 cm) CRT with a resolution of 512×342 pixels

http://en.wikipedia..../Macintosh_128K

 

http://www.youtube.c...h?v=hMENx28FueA

Indeed. It's the same DPI we're using (72).

 

EDIT: Actually, buffering stacked window redraws sounds like a bloody good idea. Simple to implement, and all we need is 8KB buffer in banked memory. Should look very clean.

Edited by flashjazzcat
Link to comment
Share on other sites

Given the limited number of pixels, the fixed menu seems very appropriate. I know, if I were to ever actually use this thing, having vertical space would be important. And there are only 200 pixels...

 

Don't care whether or not there is a redraw on some ops. RAM is at a premium too. Balance between looks and ability to actually do something.

  • Like 2
Link to comment
Share on other sites

http://www.youtube.com/watch?v=qwIAjB99ucw&feature=channel_video_title

 

Well here's a video on the "Blit Terminal..." An early windows style OS using Unix.Obviously a model for the Window style operating systems to follow a few years later for home version computers.

What a cool terminal. If we had that back in 1982, why is the current GUI tech only at its current level I wonder?

Link to comment
Share on other sites

I don't mind the menu bar at the top. If you wanted to as much screen space as possible, you could do like the Amiga and hide the menu bar until you press the menu button on the mouse.

One thing I hate about the Amiga OS versions I've used is the right-click activation of the menu bar. I'd certainly consider an "auto-hide" facility, though, whereby the menu bar simply reveals itself when you bang the mouse pointer up against the top edge of the desktop.

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