Jump to content
IGNORED

New GUI for the Atari 8-bit


flashjazzcat

Recommended Posts

... and will there be a handler for a joystick, as well? Some folks don't have ST mouses, but do have a large collection of sticks...

The GUI will be compatible with Amiga mouses too.

Yes, there'll be drivers for joystick, touch tablet, Amiga mice, etc. Right-click functionality will be supported for suitably modified mice.

Link to comment
Share on other sites

For now I can't really test the demo, because eventhough I do have the CMI08 mouse interface, my mouse only has two buttons, therefore I cannot switch the interface into ST mouse emulation mode. But the demo desktop indeed looks very impressive.

 

One request: switching the screen mode, could you call the regular OS procedure to enable GR.8 ? When only DL is modified, the program doesn't display anything when started from VBXE 80-column console.

Link to comment
Share on other sites

One request: switching the screen mode, could you call the regular OS procedure to enable GR.8 ? When only DL is modified, the program doesn't display anything when started from VBXE 80-column console.

Will a quick "dummy" call to "S:" do the job, before pointing to the custom 200 line display list?

Link to comment
Share on other sites

Why quick and dummy? :) Besides, I don't think it would work.

 

Simply do OPEN #n,12,8,"S:" (or rather its equivalent in asm, via CIOV).

 

If you're worried to sacrifice memory to make a regular CIO call, then simply do the call in first init segment, it will then occupy zero memory.

Link to comment
Share on other sites

Why quick and dummy? :) Besides, I don't think it would work.

 

Simply do OPEN #n,12,8,"S:" (or rather its equivalent in asm, via CIOV).

That's what I had in mind. By "dummy", I just meant that the screen mode resulting from the CIO call would be immediately superceded by a custom DL and display RAM. :)

Link to comment
Share on other sites

... and will there be a handler for a joystick, as well? Some folks don't have ST mouses, but do have a large collection of sticks...

The GUI will be compatible with Amiga mouses too.

Yes, there'll be drivers for joystick, touch tablet, Amiga mice, etc. Right-click functionality will be supported for suitably modified mice.

 

I was just about to ask about Amiga mice... I've got several of those, including the Boing! optical mouse with three buttons.

:)

Link to comment
Share on other sites

Here'e a quick picture of it running on my 22 inch LCD gateway monitor, connected via a video converter

 

Will there be a way to have the blue artifacting color as the background? It would sure look better the other way around...

post-12455-0-03345500-1308024206_thumb.jpg

Edited by IndusGT
Link to comment
Share on other sites

Hmmm... kinda cool looking. We haven't given any consideration to accommodating artifacting yet. It's not really a difficult thing. We already had plans to allow various background patterns, and (with enough ram) desktop pictures.

 

We should be able to work it in. I'll play around with it when I get some time...

Link to comment
Share on other sites

Urgh... artifacting. A pet hate of mine. :) Anyway - as MrFish says, we're nothing if not flexible. We should be able to provide alternative patterns. I must admit I'm curious to see what that scroll bar pattern looks like on the desktop background.

 

By the way: it's amazing to see this running on different setups. :)

Edited by flashjazzcat
Link to comment
Share on other sites

I have to agree with you FJC, I am totally against the use of artifacting in design and allowing it on my systems as well (I strictly use S-Video, unless I need to test something). I'm a little intrigued by the effect that IndusGT is getting with his setup though. The colors are different (I'm getting green and pink on my CRT) and a little less pronounced. Probably due to the fact that he's using a converter and an LCD.

 

Anyway, here are a couple of test images to see what it looks like Indus. One for each color as the background. Please post screenshots:

 

artifact 1.xex

 

artifact 2.xex

 

BTW, the patterns actually look pretty good for non-artifacting systems:

 

post-6369-0-34599400-1308111100_thumb.png

Link to comment
Share on other sites

I have to agree with you FJC, I am totally against the use of artifacting in design and allowing it on my systems as well (I strictly use S-Video, unless I need to test something). I'm a little intrigued by the effect that IndusGT is getting with his setup though. The colors are different (I'm getting green and pink on my CRT) and a little less pronounced. Probably due to the fact that he's using a converter and an LCD.

 

Anyway, here are a couple of test images to see what it looks like Indus. One for each color as the background. Please post screenshots:

 

artifact 1.xex

 

artifact 2.xex

 

BTW, the patterns actually look pretty good for non-artifacting systems:

 

post-6369-0-34599400-1308111100_thumb.png

 

screenshots coming up in a little while, they look awesome!!!

 

I have a Taiwan 800 xl, from what I've been told Hong Kong units have red and green artifacting which maybe responsible for Mr Fish's difference in color.

Edited by IndusGT
Link to comment
Share on other sites

I am a s-video fan and I don't like artifacts too but I apreciate Jon's and Mr. Fish "open mindness" to include features to please as many people as possible.

BTW, nice Atari logo in the upper left corner.

I am sure you'll be able to color it...

Link to comment
Share on other sites

pics are here

Thanks. I'm getting a similar look on my system too, except that the gray areas on the scrollbars are not as dark, and my desktop is a bright green (oddly similar to the Atari ST desktop green). I'm guessing that your scrollbar areas are darker because of the particular camera-shot, since your earlier photo of the desktop area, with the same pattern, is a lighter grey. Is that the case?

Link to comment
Share on other sites

Should have this running off a MaxFlash 1MB cart image within a few days ("long" JMP and JSR mechanism for inter-bank calls is working well), then I'll start on the banked RAM manager. Once the memory restrictions are lifted (we're basically out of code and buffer space in the demo), we can really forge ahead with this thing.

Link to comment
Share on other sites

Should have this running off a MaxFlash 1MB cart image within a few days ("long" JMP and JSR mechanism for inter-bank calls is working well), then I'll start on the banked RAM manager. Once the memory restrictions are lifted (we're basically out of code and buffer space in the demo), we can really forge ahead with this thing.

 

 

Talk about rewriting history, my friend. ...And I will be around to see it all over, yet again. :)

 

 

The ultimate 8bit combo: 800 & 800XL (with Ultimate 1MB), IndusGT drives (with CPM module), Nuke-SDrive, SDX 4.4X, LastWordy, and, to send shockwaves into the future, FujiX to top it all.

 

Can't wait to flash my 8Mbit cart with "FujiX", and light it up on my 800s.

 

Bring'it ON, and don't look back!

 

F.

Link to comment
Share on other sites

The ultimate 8bit combo: 800 & 800XL (with Ultimate 1MB), IndusGT drives (with CPM module), Nuke-SDrive, SDX 4.4X, LastWordy, and, to send shockwaves into the future, FujiX to top it all.

I would replace Nuke-SDrive with flashjazzcat SIO2SD-SIO2PC combo!

post-12528-0-89383900-1308331655_thumb.jpg

Link to comment
Share on other sites

The ultimate 8bit combo: 800 & 800XL (with Ultimate 1MB), IndusGT drives (with CPM module), Nuke-SDrive, SDX 4.4X, LastWordy, and, to send shockwaves into the future, FujiX to top it all.

 

Can't call it ultimate without a PBI device - like IDE 2.0... or MIO...

Link to comment
Share on other sites

Should have this running off a MaxFlash 1MB cart image within a few days ("long" JMP and JSR mechanism for inter-bank calls is working well), then I'll start on the banked RAM manager. Once the memory restrictions are lifted (we're basically out of code and buffer space in the demo), we can really forge ahead with this thing.

 

that's good news since my APE USB is on the Fritz, all the pictures I took were done by loading the EXE on a Flashcart...

Link to comment
Share on other sites

I was testing Diamond on real hardware last night and was impressed by the speed in ONE area: that of the mouse sampling. I checked the DLIs in an emulator and was astonished to discover that the mouse sampler is triggered at 1.2KHz on a PAL machine (24 DLIs per frame). This is more than twice the rate of the new GUI and overcomes the mouse "overrrun" problem. The samples are stored in a small queue for later processing. Naturally I'll be doing some experiments later today.

Link to comment
Share on other sites

There is an old Atari book, "Atari BASIC Faster & Better", by Carl Evans, that has a lot of very good generalized Atari-specific information on how to optimize programs & reduce bottlenecks. The title makes you think that it's only about BASIC, but it's not... he has a lot of great tips in there, and as I re-read it, I was like, "whoa, that's a great idea", several times. I am 100% sure that something in this book will give you some info to help you to make the GUI better.

Link to comment
Share on other sites

Yes, I believe I'm familar with that book from many years back. I'd enjoy having another look through it if I can track down a copy.

 

With regard to the mouse sampling code I posted a while ago, the most obvious optimisation is to check for all the bits in the upper nybble of PORTA being set and skip the whole routine if this is the case, since it means the mouse is stationary. With this change, I was able to ramp up the sampling with minimal overhead. Indeed, many cycles are released unless the mouse is moving quickly.

 

Diamond's mouse driver is intriguing, though, and I wish I was still in touch with Alan to discuss it further. Although the code fires 1,200 times a second on a PAL machine, the routine is very short and simply stores up to 28 mouse samples in a buffer. When the buffer overflows, the pointer is reset to zero and the buffer starts filling up again, but there's no clear indication of it being a circular queue. These buffered values are interpreted some place else (I'm assuming in a VBL routine). Here's a condensed version the DLI code:

 

	pha
tya
pha
lda PORTA
lsr
lsr
lsr
lsr
and #$0f
cmp old_mouse
beq no_change
sta old_mouse
ldy buf_ptr
sta mouse_buf,y
iny
cpy #$1c
bne no_reset
ldy #0
no_reset
sty buf_ptr
no_change
pla
tay
pla
rti

Admirably brief (although it could be made shorter using LUTs), but obviously these values need to be interpreted as axis movement elsewhere. I'm slightly puzzled by the fact that entries are only when they've changed since the last sample. I realize movement in a given direction should provide a stream of differing values, but when I added this mod to my routine, up/down movement didn't work.

 

EDIT: Well, I must have done something wrong the first time, because with only the check for repeated values in place, it works fine now. So if the mouse is stationary and old_mouse is $0f, the main routine won't fire until something happens anyway.

 

mouse ; interrupt-driven mouse routine
txa
pha
mousea
ldx $d300
lda shift_table+1024,x ; shift right by 4 bits
and #15
cmp old_mouse
beq mousexit2
pha
sta old_mouse
and #3
ora oldx
tax
lda mousetab3,x
sta oldx
lda mousetab,x
bmi mousy ; action?
bne mouse1
mouse0 ; increment x
lda mousex
cmp mousexmax
lda mousex+1
sbc mousexmax+1
bcs mousy
inc mousex
bne mousy
inc mousex+1
bne mousy
mouse1 ; decrement x
lda mousexmin
cmp mousex
lda mousexmin+1
sbc mousex+1
bcs mousy
lda mousex
bne *+4
dec mousex+1
dec mousex
mousy
pla
tax
lda mousetab2,x
ora oldy
tax
lda mousetab3,x
sta oldy
lda mousetab,x
bmi mousexit2
bne mouse2
ldx mousey ; increment y
cpx mouseymax
bcs mousexit
inx
bne mousexit
mouse2 ; decrement y
ldx mousey
cpx mouseymin
beq mousexit2
dex
mousexit
stx mousey
mousexit2
pla
tax
pla
rti

 

Re: Atari BASIC - Faster and Better, I had the book in PDF form from a torrent I downloaded some time ago. :)

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