Coder Social home page Coder Social logo

Comments (33)

konimaru avatar konimaru commented on July 3, 2024

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.

lutherjohnson avatar lutherjohnson commented on July 3, 2024

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.

konimaru avatar konimaru commented on July 3, 2024

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.

lutherjohnson avatar lutherjohnson commented on July 3, 2024

Yes, please take your time. Your code has been very useful, to many people, thank you.

from waitvid.2048.

konimaru avatar konimaru commented on July 3, 2024

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.

lutherjohnson avatar lutherjohnson commented on July 3, 2024

from waitvid.2048.

konimaru avatar konimaru commented on July 3, 2024

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.

konimaru avatar konimaru commented on July 3, 2024

Can you tell a bit more about your product?

from waitvid.2048.

lutherjohnson avatar lutherjohnson commented on July 3, 2024

from waitvid.2048.

lutherjohnson avatar lutherjohnson commented on July 3, 2024

from waitvid.2048.

lutherjohnson avatar lutherjohnson commented on July 3, 2024

from waitvid.2048.

konimaru avatar konimaru commented on July 3, 2024

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.

lutherjohnson avatar lutherjohnson commented on July 3, 2024

from waitvid.2048.

konimaru avatar konimaru commented on July 3, 2024

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.

lutherjohnson avatar lutherjohnson commented on July 3, 2024

from waitvid.2048.

lutherjohnson avatar lutherjohnson commented on July 3, 2024

from waitvid.2048.

konimaru avatar konimaru commented on July 3, 2024

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.

lutherjohnson avatar lutherjohnson commented on July 3, 2024

from waitvid.2048.

konimaru avatar konimaru commented on July 3, 2024

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.

lutherjohnson avatar lutherjohnson commented on July 3, 2024

from waitvid.2048.

konimaru avatar konimaru commented on July 3, 2024

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.

lutherjohnson avatar lutherjohnson commented on July 3, 2024

from waitvid.2048.

konimaru avatar konimaru commented on July 3, 2024

Ah, I read it as "I get a confirmation email etc".

from waitvid.2048.

lutherjohnson avatar lutherjohnson commented on July 3, 2024

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.

konimaru avatar konimaru commented on July 3, 2024

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.

lutherjohnson avatar lutherjohnson commented on July 3, 2024

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:

cpmmvga

from waitvid.2048.

konimaru avatar konimaru commented on July 3, 2024

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.

lutherjohnson avatar lutherjohnson commented on July 3, 2024

from waitvid.2048.

lutherjohnson avatar lutherjohnson commented on July 3, 2024

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.

konimaru avatar konimaru commented on July 3, 2024

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.

lutherjohnson avatar lutherjohnson commented on July 3, 2024

from waitvid.2048.

konimaru avatar konimaru commented on July 3, 2024

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.

lutherjohnson avatar lutherjohnson commented on July 3, 2024

from waitvid.2048.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.