Jump to content
Joey Z

Full Color ANSI VBXE terminal in the works

Recommended Posts

Very nice. And even nicer to see with how litte code this can be done on the Atari.

  • Like 3

Share this post


Link to post
Share on other sites

FJC tried to run the terminal, and was having issues. Unfortunately, given the time zone difference, he had to log off before we could pinpoint the cause of the issue. However, I think I was able to find it some time afterward. I realized that it wasn't working with the 1200XL OS. Turns out, I had a few places where I had lda 1 instead of lda #1 (I'm really getting sick of these errors :()

 

Anyway, here's the latest version again.

 

EDIT: turns out this doesn't work in SDX because the VBXE memory window overlays the banking RAM window. Should be a relatively simple fix, I just need to turn that off after the init routine, then turn it back on in the main program segment.

VBXETERM.atr

Edited by Joey Z
  • Like 1

Share this post


Link to post
Share on other sites

v0.01.2015.04.07
new features:
- added version number into main source file as data coded for human readablity
in compiled form.

bugfixes:
- VBXE memory window no longer conflicts with extended memory. It hase been
moved to $A000-AFFF. This overlaps the cartridge area, but cartridges have
priority over the VBXE memory area, so it works as long as you run with X.

known bugs:
- none yet ;)

todo:
- add more ANSI control sequence support

 

also added a license.txt, which isn't done yet. I haven't had time. So, for this version, the license.txt can be ignored. Instead, follow my definition of "don't be a dick" and you should be fine. If you have to ask, safest bet is to not do it. When I do complete the license, it will apply to the first version it appears in as well as all previous versions, so keep that in mind.

version-0-01-2015-04-07.zip

Edited by Joey Z
  • Like 3

Share this post


Link to post
Share on other sites

Thanks Joey. Finally got this version running under SDX in Altirra. Haven't tested on real hardware yet. Looks great, though. :)

Share this post


Link to post
Share on other sites

just so everyone knows, if you get a screen full of scrolling garbage when you start the term, that means you don't have an R: handler loaded.

Share this post


Link to post
Share on other sites

Hello Joey

 

Why doesn't the terminal test for the presents of an R: handler?

 

Sincerely

 

Mathy

Share this post


Link to post
Share on other sites

Hello Joey

 

Why doesn't the terminal test for the presents of an R: handler?

 

Sincerely

 

Mathy

simple: it's not done yet and I haven't added that feature.

  • Like 1

Share this post


Link to post
Share on other sites

Tried it out tonight in real hardware, and it worked really well for BBSing. Unfortunately, not so well as a Linux terminal. :-)

 

Pretty awesome!

8e055c5f19d0afa57dc213134ae16db2.jpg

 

 

Sent from my iPhone using Tapatalk

  • Like 1

Share this post


Link to post
Share on other sites

Wow, now THAT terminal I would use.

Share this post


Link to post
Share on other sites

Interesting question: Could one potentially do PETASCII on the VBXE? That is, all 16 commodore colors, with a 40-column 256 character set? One of the things I always wanted when I was in my teenage years BBSing on my Atari, was to be able to call the local Commodore BBS in full color. :)

Share this post


Link to post
Share on other sites

Interesting question: Could one potentially do PETASCII on the VBXE? That is, all 16 commodore colors, with a 40-column 256 character set? One of the things I always wanted when I was in my teenage years BBSing on my Atari, was to be able to call the local Commodore BBS in full color. :)

Yes, VBXE will allow that.

Share this post


Link to post
Share on other sites

Someday I might have to look up one these VBXE's. See if they can be adapted to the Incogneto in the 800.

  • Like 1

Share this post


Link to post
Share on other sites

Interesting question: Could one potentially do PETASCII on the VBXE? That is, all 16 commodore colors, with a 40-column 256 character set? One of the things I always wanted when I was in my teenage years BBSing on my Atari, was to be able to call the local Commodore BBS in full color. :)

VBXE does not have a 40 column mode unfortunately, so it may be harder than it seems.

Share this post


Link to post
Share on other sites

You can emulate a 40 column display with the blitter -- it copies at 7MB/sec. Use a series of strided blits to copy from character/attribute arrays into another set of blits with one blit per character. Should take only one short routine to restart the entire blit list each frame.

  • Like 2

Share this post


Link to post
Share on other sites

v0.01.2015.04.07

new features:

- added version number into main source file as data coded for human readablity

in compiled form.

 

bugfixes:

- VBXE memory window no longer conflicts with extended memory. It hase been

moved to $A000-AFFF. This overlaps the cartridge area, but cartridges have

priority over the VBXE memory area, so it works as long as you run with X.

 

known bugs:

- none yet ;)

 

todo:

- add more ANSI control sequence support

 

also added a license.txt, which isn't done yet. I haven't had time. So, for this version, the license.txt can be ignored. Instead, follow my definition of "don't be a dick" and you should be fine. If you have to ask, safest bet is to not do it. When I do complete the license, it will apply to the first version it appears in as well as all previous versions, so keep that in mind.

 

is this just a text terminal right now? No menu to access to configure yet? no file xfers ?

 

It looks pretty good so far.

Share this post


Link to post
Share on other sites

 

is this just a text terminal right now? No menu to access to configure yet? no file xfers ?

 

It looks pretty good so far.

Yes, it's nowhere near complete. No configuration at all, more or less full ASCII support, miniscule set of ANSI support. UI is limited to you pressing a key, it sends it, it receives something, it displays it.

Share this post


Link to post
Share on other sites

thanks for the info. I just started learning Atari and was looking for something like this. I am currently running it via a emulated 130XE via Altirra.

 

It works pretty good so far. I have found it does not display my ANSI screens completely correct, but it's a very good start. I will be following this topic.

 

Thanks for the info. and keep up the good work!

Share this post


Link to post
Share on other sites

40 cols could be done multiple ways. Another is to use 2 characters side by side, 0-127 represent left half, 128-255 for the right.

 

Another way could be to overlay VBXE Ram to where the OS text screen is mapped. That allows leaving standard E: and S: devices as they are. Blits could be used to translate the stock screen into something VBXE can display.

It could be done every frame though for translating to a VBXE bitmap would probably have to be spread over multiple frames.

Character set mapping for doing bitmap would probably have to be done like the 7800 does it. Have each scanline of a character 256 bytes further in memory than the previous.

Share this post


Link to post
Share on other sites

Depends how you want to do it. With Quadrillion which I had source and ported over from Plus/4 the original plan was to rewrite the rendering such that it correlated directly to the Atari way.

That was going all well and good until some nasty bug crept in and I was left with a steaming mess, turned out quicker to just start again. Which was a pity as doing it the Atari way would have meant I could have done an easy legacy hw only port as well.

 

The end result was that I left the rendering mostly alone and just used blits to remap the C= bitmap to Atari type. It's only moving 8,000 bytes or so per frame which in VBXE terms is barely above idling.

 

But yeah, doing a 40x24 remap to 80x24 would allow improved resolution and cheaply in terms of both blit time and VRam usage. In fact could even use real interlace to give 16x16 characters in the same physical space as 8x8 ones.

Edited by Rybags
  • Like 3

Share this post


Link to post
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...