Jump to content
IGNORED

New GUI for the Atari 8-bit


flashjazzcat

Recommended Posts

Nope. I was restoring and caching the content of the foremost window only. The back-windows where just empty, and the desktop-wallpaper was shining through.

 

Ah - OK. I think I understand now. ;)

 

I'm sure, if I had spend more time with BOSS-XE V9.0, I had better ideas to restore the screen, but I'm sure, I'd left the background-windows just empty when restoring.

 

It took about six months of intermittent thinking time and playing with various ideas to come up with the desktop redraw as you see it now. The good thing is that there's no absolute need for any bitmap memory other than the frame buffer itself, although obviously performance will be improved when it's possible to store bitmap images of the contents of back windows. As for wallpaper - I'm really looking forward to implementing that as soon as the extended RAM is opened up. We just need to load a bitmap and blit that through the masks instead of the pattern in use at the moment. MrFish's mock-ups look WAY cool, so as well as 900 icons and probably hundreds of fonts, we'll have a really nice selection of wallpapers. :)

Link to comment
Share on other sites

New font format is in place and working:

 

post-21964-0-80581300-1330034384_thumb.png

 

(The icon partly off the desktop is just to test the clipping; text clipping is temporarily broken since I'm redesigning it). The event handler now needs immediate attention so that the application gets redraw messages in a timely manner as we redraw windows front to back. I've also hit the 48K wall (the demo now loads at $700 because of the large test font, so no DOS), so I'll shortly have to transfer everything to cartridge format and open up extended RAM. I may be gone some time... ;)

 

Anyway, before I embark on all that craziness, I'll get the text renderer finished and see how fast we can draw 24 point fonts in the windows. The pictured demo using the two resident system fonts does it pretty darned fast.

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

ATARI MAPS

 

Power does not come without a price, however The Atari's 6502 CPU chip has only 16 address bits to control 64K of address space. To control the additional RAM banks, more address bits are needed. When only the 800 was available, Axlon came Out with a 128K upgrade that used $CFFF (decimal 53247) as a hardware address to control the banks. Current 800 upgrades still continue this tradition.

 

In the older 8-bit models, the space $C000 to $CFFF was unused. But when the newer XLs put RAM there, the Axlon standard had to be dropped. It's a real shame, too, be cause with the Axlon standard you could access 16 megabytes of banked RAM!

 

When the 1200XL was released, Atari stole joystick ports 3 and 4 (also called PORTB of PIA, the Peripheral Interface Adapter) and connected them internally to control the extra memory that was banked along with BASIC, the operating system, ROMS, hardware and various LEDs. Atari removed these LEDs from their plans for the 800XL. This left five of the PORTB pins unused. So when the 130XE was released, Atari assigned four PORTB pins to control the additional memory Bit 4 of PORTB selects the CPU to work in the extended RAM banks, while bit 5 does the same for the ANTIC chip.

 

When these bits equal 1, the respective integrated circuit is restricted to the main bank. Bits 2 and 3 select one of the four 16K banks, all of which have the same address of $4000 to $7FFF (decimal 16384 to 32767). A 256K computer needs two more bits to select all the banks, but we have only one free in PORTB. All XL upgrades take bit 5 of PORTB from ANTIC to use in bank selecting, so ANTIC can't use extended RAM independently of the CPU.

 

http://www.atarimaga...ransplants.html

Link to comment
Share on other sites

Well now, the question is whether I can get this done without relying on Shadow RAM under the XL OS. Linear RAM is - as ever - at a premium. Of course, one way to get it working on an 800 would be to use one of Candle's personality boards...

 

As an aside: what a shame that Atari didn't keep the banking register totally separate and use a different location for Antic banking on the XL. If that had become a standard, how much simpler my life would be (no need for display RAM in main memory).

Edited by flashjazzcat
Link to comment
Share on other sites

All XL upgrades take bit 5 of PORTB from ANTIC to use in bank selecting, so ANTIC can't use extended RAM independently of the CPU.

 

http://www.atarimaga...ransplants.html

 

Not all..... I have a 600XL w/ a Mega-Hz 512K upgrade that supports separate ANTIC access though w/ only 256K available. The RAMBO and simple early upgrades usually used bit 5 though. Same with the RAM 320XL external upgrade. I've seen SIMM upgrades for the 800XL that support separate ANTIC access. I wouldn't install an XL RAM upgrade these days that didn't at least give me a switch for an XE-compatible mode.

 

Looks like the Axlon standard used 4K vs. 16K banks..... SDX had Axlon support at one point didn't it? If so, does it still work? Would applications have to be written with Axlon in mind as well? I've never laid eyes on an Axlon board personally. They don't seem real common. Just the name sounds neat though heh

Edited by kogden
Link to comment
Share on other sites

Well now, the question is whether I can get this done without relying on Shadow RAM under the XL OS. Linear RAM is - as ever - at a premium. Of course, one way to get it working on an 800 would be to use one of Candle's personality boards...

 

If you could, wouldn't GUI applications have to be written with specific support for Axlon-style banking as well?

 

Those personality boards look pretty sweet... makes me wish I had room for more toys... an 800 w/ one of those would look nice on my desk. In a pinch it could also be used to bludgeon an intruder to death.

Link to comment
Share on other sites

Tangent: There's a gadget that gives 128K of EEPROM in a form-factor that could replace the BASIC ROM - for $10 http://store.go4retro.com/products/ROM%252del-2364-FLASH-ROM-Replacement.html

 

With a latch on CCTL and six address lines, it should be possible to install a 120K banked cart in the BASIC socket of an XE/XL... (that's 8K for BASIC, plus 120K for any other app one may wish to install...)

Link to comment
Share on other sites

...wouldn't GUI applications have to be written with specific support for Axlon-style banking as well?

 

If the size and location of the memory banks deviates from the standard 16KB at $4000, it's a big headache frankly. This is why it's going to be so tricky to make a build for the special RAM cart Steve Tucker built for me. 16KB blocks are a really nice size, and $4000 is a really nice place to have them (although I wish I could move the banking window dynamically). It's not just applications but the fundamental structures of the GUI which would be upset. For example, the main object tree sits in a 1,000 element array occupying an entire 16KB bank...

 

Those personality boards look pretty sweet... makes me wish I had room for more toys... an 800 w/ one of those would look nice on my desk. In a pinch it could also be used to bludgeon an intruder to death.

 

Looks like I may be joining the 800 club. My house is bursting at the seams with computers. :)

 

Tangent: There's a gadget that gives 128K of EEPROM in a form-factor that could replace the BASIC ROM - for $10 http://store.go4retr...eplacement.html

 

With a latch on CCTL and six address lines, it should be possible to install a 120K banked cart in the BASIC socket of an XE/XL... (that's 8K for BASIC, plus 120K for any other app one may wish to install...)

 

Sounds nice. This is why I've been asking Candle about how I might shoe-horn the GUI into the Ultimate 1MB's ROM space. Maybe it'll fit into 32KB or so.

 

LW for GUI v.001?

 

I'm already tripping over myself to write a text editor for this thing. I love that tiny font... imagine a program text editor using Courier in that size...

  • Like 1
Link to comment
Share on other sites

Test of new WIP font renderer:

 

http://youtu.be/Z8icVb8STjM

 

Blink and you'll miss it. ;)

 

This is a static shot of the same font:

 

post-21964-0-68833700-1330443614_thumb.png

 

This new code is hot off the press (I spent a frought couple of days getting these larger fonts working), and there is still much to do in the way of optimisation and tweaking (clipping needs doing for a start). I won't be comfortable with the renderer until it's absolutely as efficient as possible, so this code is going to receive a great deal of attention over the coming days.

  • Like 2
Link to comment
Share on other sites

I wouldn't install an XL RAM upgrade these days that didn't at least give me a switch for an XE-compatible mode.

 

 

But how often is XE-compatible mode needed? I thought there were like two demo programs that wouldn't work without it, and that's it. I know all the 130XE applications work fine on my Rambo compatible upgrade. So if I get a 100% conmpatible XE memory upgrade, what benefit is there beyond being able to use a couple demo programs?

 

I stuck with my 130XE for YEARS even though I hated the keyboard and cheap overall quality becuase I thought getting an XL and upgrading memory would be pointless except as a ramdisk. Then I discovered that my favorite programs that use extended memory work fine on an upgraded XL, so I sold the XE, bought a 1200XL, upgraded and have never looked back. I have yet to find an extended memory program that doesn't work with it due to Rambo style extended memory, and though there are plenty of extended memory demos that won't work, I suspect at least 99% of those are a PAL issue, not memory.

 

And as far as new or newer software that uses extended memory, it seems like programmers make sure it works with both XL and XE style memory upgrades anyway, so what's the point?

 

 

But then lets put all that aside for a moment, and I have to ask; if you install an XE-compatible memory upgrade then what would be the point of a switch to turn it on and off?!? Wouldn't everything work fine with it on all the time?

Edited by Gunstar
Link to comment
Share on other sites

OK, a valid reason for the switch. I still don't see a terribly valid reason for 100% XE compatiblity in the first place though...

 

There isn't, really, since many upgrades don't support it and no software can be sure it will be supported by the target machine, so Antic banking is rarely used. This is a great shame, however. If memory upgrades had all preserved the Antic banking capability (or - better yet - Atari had given Antic and Sally their own separate banking registers), we could all keep our 8KB frame buffers in extended memory and fill up the base RAM with code. But it was not to be.

Edited by flashjazzcat
Link to comment
Share on other sites

But how often is XE-compatible mode needed? I thought there were like two demo programs that wouldn't work without it, and that's it. I know all the 130XE applications work fine on my Rambo compatible upgrade. So if I get a 100% conmpatible XE memory upgrade, what benefit is there beyond being able to use a couple demo programs?

 

It's relatively easy to have the upgrade be switchable between XE-compatible and RAMBO modes. Very little extra effort involved.

 

I prefer to have an XE-compatible mode available as it was the "official" Atari banking standard and opened up some interesting possibilities with ANTIC. If I can get some neat extra functionality for little extra effort, I'm all for it. Even if very little was written to take advantage of it (Video Blitz demo and couple others) I would still rather have it than not have it.

 

I stuck with my 130XE for YEARS even though I hated the keyboard and cheap overall quality becuase I thought getting an XL and upgrading memory would be pointless except as a ramdisk.

 

I didn't realize how horrible the 130XE keyboard was until I got another one recently. I was used to ST keyboards as a kid so the 130XE keyboard didn't seem much worse at the time. I'm getting an XE-Touch kit from Best for mine. Might do a Peterson 320K upgrade w/ switch for bit 5. Even if the XE-style ANTIC banking modes are only used rarely.... *I* want to use them for something eventually. Was my first machine so I had to get one.

 

The XE is definitely cheap but also sold for significantly less than an 800XL originally did. They weren't "bad" machines but they weren't built tough by any means. I liked my 130XE as a kid. It lasted quite some time until the power supply commited suicide and took the machine with it around 1993 or 1994. I prefer stock XE video to stock XL video but with mods an XL can blow it away.

 

Then I discovered that ALL my favorite programs that use extended memory work fine on an upgraded XL, so I sold the XE, bought a 1200XL, upgraded and have never looked back.

 

I'm seriously considering a 1200XL but it would take serious hacking to get what I want out of it like PBI, decent video, etc. It's on my list for sure though. The 1200XL and I share a birth year heh I turned 30 a couple weeks ago.

 

For now my primary Atari I actually use regularly has been hacked to death but is pretty cool:

- '83 Chelco 600XL w/ non-stepped keyboard w/ smooth keycaps (VERY VERY SOLID)

- Upgraded 16K base RAM to 64K w/ 2 4464 RAM chips.

- Homebrew messy custom S-Video mod (*NO* visible clock lines on any of my TV's/monitors, RF removed)

- Mega-Hz 512K switchable extended RAM upgrade

- internal USB SIO2PC ($10 sparkfun FT232RL board)

- MyIDE cart w/ 512MB DOM (8-bit CFA capable) flashed with SDX 4.4.5

 

And as far as new or newer software that uses extended memory, it seems like programmers make sure it works with both XL and XE style memory upgrades anyway, so what's the point?

 

That was the mentality back in the day too, hence the reason little software exists to take advantage of it. If more people had switchable upgrades and/or 130XE's, more software would have been/will get written to use it.

 

But then lets put all that aside for a moment, and I have to ask; if you install an XE-compatible memory upgrade then what would be the point of a switch to turn it on and off?!? Wouldn't everything work fine with it on all the time?

 

Some programs do barf when in XE-compatible mode I've found. This way I can run everything I want just about.

 

--Kevin

Link to comment
Share on other sites

I loved my 130XE as a kid too, it was my first Atari, I don't think it was "bad" and actually, I'm pretty sure my old XE is still working in the hands of it's new owner (though I did have to replace the keyboard before I sold it). It's just that the 800 and XL lines were made better.

 

It would have been great if all Atari's followed the same extended memory rules, but the fact is, they don't. And guess what? The XE may be the "official" standard, which means absolutely nothing to me since the "official" Atari no longer exists to support that standard. The RAMBO is the DEFACTO standard.

Edited by Gunstar
Link to comment
Share on other sites

This is a static shot of the same font:

 

post-21964-0-68833700-1330443614_thumb.png

 

This new code is hot off the press (I spent a frought couple of days getting these larger fonts working), and there is still much to do in the way of optimisation and tweaking (clipping needs doing for a start). I won't be comfortable with the renderer until it's absolutely as efficient as possible, so this code is going to receive a great deal of attention over the coming days.

 

Man that looks great..... considering it's still unoptimized and has a ways to go that's cool as hell. Would be interesting to benchmark it against GEM on an ST and MacOS on a Plus when it's a little more complete. What's next? Display Postscript interpreter? Always a joy to see WIP videos on this thing.

 

It's just that the 800 and XL lines were made better.

 

Definitely..... the ST's were made pretty cheap too but were cool machines as well. They weren't really ugly either but I thought the XL machines looked MUCH cooler and were really built to last. The original 800 is a tank. Might get one when Candle's personality board hits the streets.

 

The XE may be the "official" standard, which means absolutely nothing to me since the "official" Atari no longer exists to support that standard. The RAMBO is the DEFACTO standard.

 

Hence the reason I install switches. The Atari standard gives me 320K RAM and some extra functionality when I want it and can use it, the RAMBO standard gives me 576K total RAM when I don't. It's really pretty trivial to do and opens up some possibilities. Not knocking your RAMBO board, they work well and will run 99.999999% of anything you'd want.

 

Most NEWER internal RAM upgrades are switchable. External plug-in ones, not so much. I still like my RAM 320XL though for stock XL's.

 

--Kevin

Edited by kogden
Link to comment
Share on other sites

This is a static shot of the same font:

 

post-21964-0-68833700-1330443614_thumb.png

 

This new code is hot off the press (I spent a frought couple of days getting these larger fonts working), and there is still much to do in the way of optimisation and tweaking (clipping needs doing for a start). I won't be comfortable with the renderer until it's absolutely as efficient as possible, so this code is going to receive a great deal of attention over the coming days.

 

Man that looks great..... considering it's still unoptimized and has a ways to go that's cool as hell. Would be interesting to benchmark it against GEM on an ST and MacOS on a Plus when it's a little more complete. What's next? Display Postscript interpreter? Always a joy to see WIP videos on this thing.

 

It's just that the 800 and XL lines were made better.

 

Definitely..... the ST's were made pretty cheap too but were cool machines as well. They weren't really ugly either but I thought the XL machines looked MUCH cooler and were really built to last. The original 800 is a tank. Might get one when Candle's personality board hits the streets.

 

The XE may be the "official" standard, which means absolutely nothing to me since the "official" Atari no longer exists to support that standard. The RAMBO is the DEFACTO standard.

 

Hence the reason I install switches. The Atari standard gives me 320K RAM and some extra functionality when I want it and can use it, the RAMBO standard gives me 576K total RAM when I don't. It's really pretty trivial to do and opens up some possibilities. Not knocking your RAMBO board, they work well and will run 99.999999% of anything you'd want.

 

Most NEWER internal RAM upgrades are switchable. External plug-in ones, not so much. I still like my RAM 320XL though for stock XL's.

 

--Kevin

 

Actually I have a Rambo compatible board from Atarimax now, I sold the XL with the actual Rambo upgrade in it (though the guy is sending it back for more upgrades).

Link to comment
Share on other sites

Man that looks great..... considering it's still unoptimized and has a ways to go that's cool as hell. Would be interesting to benchmark it against GEM on an ST and MacOS on a Plus when it's a little more complete. What's next? Display Postscript interpreter? Always a joy to see WIP videos on this thing.

 

Ah yes - the GUI. ;) Next come wallpapers, when I get a chance to implement them. Optimisation is the fun part, and all rendering routines are getting a re-write (frustrating though this is since it hinders more obvious progress in other areas). Here are a couple more fonts:

 

post-21964-0-97936600-1330456365_thumb.png

 

post-21964-0-94646100-1330456368_thumb.png

 

Fonts are the single aspect of GEOS which I find highly attractive, so thanks go to MrFish for sourcing and designing these fonts, as well as all the icons, wallpapers, etc. Upon the visual quality of these resources, much of this project depends. I have longed to see such things on the Atari for many years. :)

  • Like 1
Link to comment
Share on other sites

 

Ah yes - the GUI. ;) Next come wallpapers, when I get a chance to implement them. Optimisation is the fun part, and all rendering routines are getting a re-write (frustrating though this is since it hinders more obvious progress in other areas). Here are a couple more fonts:

 

 

Wow, those look good too. Makes me wish he had a couple extra gray shades in hi-rez for simple antialiasing.

 

B&W wallpapers would look good w/ luma only or maybe s-video....with composite you might be able to pull of a couple solid colors using artifiacting that wouldn't look too bad.

 

Speaking of other things, will the file manager be split off in a seperate app like Finder and various X-Windows file managers or will it be integrated?

Link to comment
Share on other sites

Ah yes - the GUI. ;) Next come wallpapers, when I get a chance to implement them. Optimisation is the fun part, and all rendering routines are getting a re-write (frustrating though this is since it hinders more obvious progress in other areas). Here are a couple more fonts:

 

 

Wow, those look good too. Makes me wish he had a couple extra gray shades in hi-rez for simple antialiasing.

 

B&W wallpapers would look good w/ luma only or maybe s-video....with composite you might be able to pull of a couple solid colors using artifiacting that wouldn't look too bad.

 

Speaking of other things, will the file manager be split off in a seperate app like Finder and various X-Windows file managers or will it be integrated?

 

Thanks. The Geneva font doesn't really look so great at that point size (top font). It was mainly designed to be clean looking at lower point sizes, as it's the early Macintosh's icon label font. We'll be very selective about what fonts are included with the GUI.

 

I won't be specifically designing many, if any, wallpapers with artifacting in mind. The GUI is really intended for systems that aren't artifacting. That way we can focus on making the most possible use of the available pixel space. Some small concessions will be catered to for artifacting systems though.

 

The file manager will just be an app. So, yes, like the "Finder".

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