Jump to content
IGNORED

What Would You Do with Video Board XE?


peteym5

Recommended Posts

all procedural data (as resizable windows) can be easly done with blitter, but without 816 cpu and linear memory it has little if any sense (this is soleyly my opinion)

 

I wasn't thinking of a complete OS, just a few programs that shared some file structure compatability, where data could be imported into each program. Word processors, database, etc. They wouldn't necessarily need to run concurrently. You could have a protected bit of memory you could place the piece of data you'd want transferred, halt one program, open another and import it.

 

Maybe that is too much to ask from our little 8 bit and best left to more powerful systems. :/

Edited by AtariNerd
Link to comment
Share on other sites

all procedural data (as resizable windows) can be easly done with blitter, but without 816 cpu and linear memory it has little if any sense (this is soleyly my opinion)

 

I wasn't thinking of a complete OS, just a few programs that shared some file structure compatability, where data could be imported into each program. Word processors, database, etc. They wouldn't necessarily need to run concurrently. You could have a protected bit of memory you could place the piece of data you'd want transferred, halt one program, open another and import it.

 

Maybe that is too much to ask from our little 8 bit and best left to more powerful systems. :/

It's a bit of a grey area. I looked quite seriously into the idea of a WYSIWYG word processor a couple of months ago, and the main stumbling block was lack of 640 horizontal resolution. Now we have that, the next stumbling blocks (as candle correctly alludes to) are processing power and memory space. I'm haven't even thought about a complete OS, either; what I had in mind was a GUI library (perhaps stuffed into an expanded bank of memory) which applications could be written to interface with. The idea of a complete GUI based OS has been tried several times, and from what I've seen (mainly due to the lack of custom-written software), they are mainly launch pads for text-mode applications. Preferable, in my view (or at least more plausible) is to go the route of the old PC DOS apps which loaded their own GUIs on the fly.

 

But we might still reach a brick wall with storage space and CPU speed. As we know, monospaced, software driven 80 column text is do-able with 1.7MHz, but proportional text in any significant volume is going to be two or three times slower, at least. And that's just to bitmap it; there's all the ancilliary processing of line-length calculation, word-wrap, justification, etc. And if we have more than one font in a document, the fonts are (realistically) going to have to be memory-resident. Again, this can be done with extended memory, and if the display RAM is on the VBXE card, that frees up yet more space in main memory for program code. I'm sure we could do some very ambitious things with regard to word processors, but they ain't going to run too fast...

Edited by flashjazzcat
Link to comment
Share on other sites

I have some pretty good examples in C of how to use banked programming. The banks can be dynamically loaded, and code in one bank can call code in the other bank. The code calls are indirect through a wrapper in non-banked that swaps the bank before calling the target function. The banks are managed via a stack, so the call wrapper actually does a push, makes the call, then pops the old bank and returns back down to the original code. Non-pointer parameters work via the C parameter stack; for pointers, the wrapper must do a copy to a temp buffer in non-banked area.

 

So, there are some restrictions, and the indirect calls and copies add some overhead. However, if you arrange things carefully in blocks of code that are as self contained as possible, you can have code space only limited by how many banks you have installed. I even have a mouse driver running banked off of an IRQ. If you have functions that are constantly referring to giant blocks of global RAM you probably need to rethink your design some anyway. Screen data, of course, is common to handle that way, so I have my screen data in non-banked RAM, but writing a banked byte to a location in another banked byte ( as the mouse driver does quite often ) is still pretty fast, it just has a couple of extra store's as overhead. Store to non-banked byte, store portb to swap destination in, store the byte, store portb again to return to original bank.

 

Anything that is really extremely speed-critical, ie., for games, probably would have to be kept in non-banked memory.

Link to comment
Share on other sites

if you're serious about proportional fonts they have to reside in vbxe memory, otherwise, processing them must be cpu job, and that means slow

only by carefully organising the data for font definitions there is a way of doing blts fast enought to insert a line of text in the middle of screen (for example, as this would certainly need some cpu power otherwise)

Link to comment
Share on other sites

you could hold up a virtual line in xl ram where the 6502 setups the blitter objects depending on the text...so actually the blitter copies line by line, char by char. as the font is gfx anyway you easily can have proportional font.

 

and the 6502 does not need to draw the propotional font itself but only need to setup the blitter...

 

so what about using the highres bitmap mode and not the charmode of the vbxe?

Link to comment
Share on other sites

i've corrected all the issues

 

it didn't run because you didn't put the run mnemonic

i've replaced palette with procedural one (since most of whats was left of Yours was commented), and added blitter code to clear the screen (You cannot assume that memory is filled with zeroes after power up - its not)

 

hope you don't mind :)

fire_vbxe.zip

Link to comment
Share on other sites

my thinking is if emulation would be avaivable, then its only question of time when someone will write something nice for this board

and its cheaper than real thing, so anyone can afford it

 

even if not perfect it is still better than nothing!

Link to comment
Share on other sites

I think I may get back to working on a project I abandoned a little over a year ago now that there's VBXE emulation... Hmmm... Now I just need to find info regarding 320K bank switching and I'll be back in business...

Edited by dwhyte
Link to comment
Share on other sites

check examples provided with MADS cross assembler, You should get there what You're looking for

 

VBXE core 1.09 support is completed, now there are licensing issues and the project needs some place in web space (hosting)

 

hope this is all sorted by now, and we all see offifcial page soon

if nothing has changed, the project should be hosted at http://vbxe.atari8.info

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