Comments (33)
Tricky, one row type (odd) would come for free (shr vs asr). The even one is not so simple. I'll have a go regardless :)
from waitvid.2048.
I'll let you know what I did in the meantime, to get something that I could use, so you don't spend too much time on it, unless you want to :)
I found that 640x480 with 30 rows of 8x16 characters was much easier to get good timings for, on my monitor. I modified the Parallax (Chip Gracey) Hi-Res Text driver to use an 8x16 font (I'm using the one W.L. Schneider (zx81vga) prepared for use with your 128 P drivers), and then changed the driver to expect an attribute (reverse video only) in odd bytes in the screen buffer, so I can still have that feature. I don't have full color per character, as in your code, I only can set colors by rows, but I have an 8x16 font with stable timing in a resolution where the line drawing characters connect, and that's sufficient for getting my product ready. However I am very interested in what you come up with, just because I find this Propeller video stuff fascinating. Thanks for your attention and reply, I've learned quite a bit looking at your code over the last six months or so :)
from waitvid.2048.
OK, that gives me some breathing space :) The timing on this one is already tight so I have to come up with better code.
I've learned quite a bit looking at your code over the last six months or so :)
I hope it wasn't too horrifying. But I'm glad this collection is of use to someone out there.
from waitvid.2048.
Yes, please take your time. Your code has been very useful, to many people, thank you.
from waitvid.2048.
OK, I believe a have a way forward, at a cost. The colour table will have to move to hub memory and I'm not 100% sure I can keep the blink mode (bit 0 of colour attribute). But otherwise it's looking good.
from waitvid.2048.
from waitvid.2048.
There is now a 80x25 RAM CDUP driver available which duplicates column 8 as 9. Palette resides in hub memory and provides 256 user-definable entries. Said entries must include the idle sync pattern, i.e. %%RGB_2_rgb_2
. This is something I'm unhappy about and this will be fixed if possible.
But for now you can at least use the driver and maybe provide feedback.
from waitvid.2048.
Can you tell a bit more about your product?
from waitvid.2048.
from waitvid.2048.
from waitvid.2048.
from waitvid.2048.
Oh dear! I guess I better don't tell you how much downstream this really is :) Anyway, I didn't get much sleep last night having caught a cold and I came up with a better solution than the current state of affairs. Stay tuned!
from waitvid.2048.
from waitvid.2048.
There is now full 9x16 support available (80x25 RAM NINE). Also, I'm sure you have a more useful font file sitting around. If you don't mind I'd like to extend mine a bit.
Note that attribute and ASCII are now swapped in screen memory (attribute << 8 | ASCII).
from waitvid.2048.
from waitvid.2048.
from waitvid.2048.
Cool. Thanks for pushing, I wanted this to be resolved for a long time now.
I remember liberating the current font data from some driver file but I'd have to dig around again to find the source. If I'm not mistaken, some characters really used all 9 columns. So once you're done just attach it here and we go from there.
from waitvid.2048.
from waitvid.2048.
I had some time at work so I built a full version based on a Windows font file. The graphics symbols connect smoothly so I guess you're good to go with this one.
from waitvid.2048.
from waitvid.2048.
OT: Does the mailing list subscriber on your website work (at all)? Just tried 2nd time but didn't get anything yet.
from waitvid.2048.
from waitvid.2048.
Ah, I read it as "I get a confirmation email etc".
from waitvid.2048.
Pre-launch page went live on Crowd Supply
I tried your latest demo, very nice, thank you. I will start integrating it into my code tomorrow, it won't be hard, I was using a version of it before I switched over to the modified Parallax code, and I kept the version based on your code live in my tree and operating. I'll start integrating your newest stuff tomorrow, I'll mind the fact that attributes and characters are swapped. The next couple of days are kind of busy with many logistics aside from software, but yes, those 9x16 characters DO connect when they're supposed to, and they are so pretty. :)
Thank you !
from waitvid.2048.
I'll mind the fact that attributes and characters are swapped.
I dare say it will be pretty obvious when you get it wrong :) For reference, the printChar() method covers all the essentials.
That machine of yours sounds interesting. While I had contact with the Z80 in the past (4MHz max) I never played around with lisp. Maybe now is the time :)
from waitvid.2048.
I've integrated your latest code, as of this evening, and everything works great ! Pretty characters. I think this issue is done, feel free to close if you'd like. I will use your 80x25 9x16 720x400 mode in my product, but I will give the customer the option of the 80x30 8x16 640x480 mode (adapted from the Parallax VGA Hi-Res Text Driver) too. They both work well. Your mode has the benefit of the choice of color from a palette, for every individual character, and of course those nice 9x16 characters. The 80x30 mode gives 5 more lines on screen, and allows direct specification of colors, but only row by row. They both work terrific with the new VGA card that we just developed and got back last night. The development of that card benefited greatly from study of the Hobbytronics Serial VGA, Marco Maccaferri's RC2014 VGA terminal, and Parallax's VGA adapter boards. And of course, from Chip Gracey's and your software ! Here's a picture of the latest setup in action:
from waitvid.2048.
Nice setup! I'll definitely keep an eye on your project. If you need further support just let me know. Also, I was thinking about creating a font editor, not sure if you already have something like that available!?
FWIW, the person who triggered all this 80x25 business will most likely use this latest incarnation in his projects as well.
from waitvid.2048.
from waitvid.2048.
When I update the palette, do I need to wait for vertical sync, or otherwise coordinate with the video code for access to this table ? Because it seems that the low bits are used for state of some sort by the video code as it works (sync bits ? 0- didn't really understand your comments about them before).
I am successfully updating the palette in my application without any (apparent) bad effects, but I just thought I should ask.
from waitvid.2048.
Access to the palette is whenever you want. However, prior to version 0.15.nine.4
you had to make sure that the sync bits %%RGBS_rgbS
, i.e. bits 8..9 and 0..1 are set to %10. As of 0.15.nine.4
this is no longer necessary, I mask those 4 bits out (and %%3330_3330
) while loading the colour value and set them to their correct value (or %%0002_0002
).
I don't know how your palette is defined (hex, quaternary or who knows) but for e.g. quaternary it probably improves readability when you keep those bits as 0:
word %%022_0_001_0, ...
The demo file uses hex notation and - to be honest - I was just too lazy to flip those bits :)
from waitvid.2048.
from waitvid.2048.
I will use your 80x25 9x16 720x400 mode in my product, but I will give the customer the option of the 80x30 8x16 640x480 mode (adapted from the Parallax VGA Hi-Res Text Driver) too.
Would it be beneficial to modify the Parallax driver to at least make it a drop-in replacement, i.e. same features plus 5 more lines but smaller font?
from waitvid.2048.
from waitvid.2048.
Related Issues (20)
- POC 80x25 RAM patch for 640x400 resolution HOT 1
- sync demo for 50x18 ROM driver introduces (harmless) glitch HOT 1
- Doesn't work with propboe HOT 6
- Look into sync-isolation for 80x25 RAM CDUP HOT 1
- Look into sync-isolation for 80x25 RAM NINE HOT 2
- Reactivate blink mode for 80x25 RAM NINE HOT 4
- ASCII / Attribute bytes are swapped for 80x25 RAM NINE HOT 3
- development: 80x25 RAM C0DF HOT 2
- POC/40x32 RAM extension HOT 4
- review cursor thickness for 80x25 RAM NINE HOT 2
- look into 640x480 scanline driver HOT 3
- cleanup coreView HOT 1
- POC/320x256.4 full colour update (6bit/8bit colour) HOT 1
- add cursor(s) to 128xP RAM (480p style)
- New driver for specific device HOT 3
- [DDK] Update 128xP driver to support 8x16 fonts HOT 1
- add minimal cursor stuff to 128xP demo HOT 1
- sync code for 50x18 driver HOT 2
- Help how to use your drivers/C3Synapse VGA HOT 14
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from waitvid.2048.