AtariNerd Posted May 6, 2009 Share Posted May 6, 2009 How about a WYSIWYG word processor with proportional fonts, a proprietary GUI, mouse driven, on a 640x400 display? That's what I'll write if I ever get a VBXE... The beginnings of the "Little Blue Desktop" ? Quote Link to comment Share on other sites More sharing options...
candle Posted May 6, 2009 Share Posted May 6, 2009 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) Quote Link to comment Share on other sites More sharing options...
AtariNerd Posted May 7, 2009 Share Posted May 7, 2009 (edited) 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 May 7, 2009 by AtariNerd Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted May 7, 2009 Share Posted May 7, 2009 (edited) 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 May 7, 2009 by flashjazzcat Quote Link to comment Share on other sites More sharing options...
danwinslow Posted May 7, 2009 Share Posted May 7, 2009 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. Quote Link to comment Share on other sites More sharing options...
candle Posted May 7, 2009 Share Posted May 7, 2009 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) Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted May 7, 2009 Share Posted May 7, 2009 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? Quote Link to comment Share on other sites More sharing options...
candle Posted May 7, 2009 Share Posted May 7, 2009 single blitter object is 19 bytes long, so this approach still needs some carefull programming i'm working on those blitter examples i've been mambling for two weeks now... just not enought time Quote Link to comment Share on other sites More sharing options...
Mathy Posted May 9, 2009 Share Posted May 9, 2009 Hello guys Please think about the possibilities the multijoy and multilink interfaces will have in combination with the VBXE. greetings Mathy Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted May 10, 2009 Share Posted May 10, 2009 here is my fire source code... hacked quickly together for internal testing... the image only works in patched Atari++ Emulator. fire_vbxe.zip Quote Link to comment Share on other sites More sharing options...
candle Posted May 10, 2009 Share Posted May 10, 2009 having trouble getting this to work with real hardware... it quits to dos?!? there is infinite loop inside, how come it quits to dos?!? Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted May 10, 2009 Share Posted May 10, 2009 ? how should I test without a board? but it has endless loop yes... so should not quit to dos... did you boot the ATR instead of the OBX? Quote Link to comment Share on other sites More sharing options...
candle Posted May 10, 2009 Share Posted May 10, 2009 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 Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted May 10, 2009 Share Posted May 10, 2009 thx. not problem with that... as it says in the comments... "hacked quickly together"... Quote Link to comment Share on other sites More sharing options...
candle Posted May 10, 2009 Share Posted May 10, 2009 all that matters is that You've written it, and if You don't mind, it would be nice to include it into vbxe 1.10 package Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted May 10, 2009 Share Posted May 10, 2009 sure...you can send it to Electron as I do not have his email adress... Quote Link to comment Share on other sites More sharing options...
dwhyte Posted May 10, 2009 Share Posted May 10, 2009 the image only works in patched Atari++ Emulator. Where can I find this patched emulator Heaven? I'm anxious to try out some VBXE experiments... Quote Link to comment Share on other sites More sharing options...
candle Posted May 10, 2009 Share Posted May 10, 2009 it should be out verry soon fx 1.09 emulation is ready, now its only delayed because of "licensing" problem i assume one or two days more of waiting before release Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted May 10, 2009 Share Posted May 10, 2009 Candle...did you test my 10x BCB test? so 10 bcbs in the row? Quote Link to comment Share on other sites More sharing options...
dwhyte Posted May 10, 2009 Share Posted May 10, 2009 Emulation would be the primary dev platform for me so this is really exciting news. I had no idea the VBXE logic was going to be included in an emulator... These are some exciting times for me... Quote Link to comment Share on other sites More sharing options...
candle Posted May 10, 2009 Share Posted May 10, 2009 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! Quote Link to comment Share on other sites More sharing options...
dwhyte Posted May 12, 2009 Share Posted May 12, 2009 (edited) 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 May 12, 2009 by dwhyte Quote Link to comment Share on other sites More sharing options...
candle Posted May 13, 2009 Share Posted May 13, 2009 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 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.