Golden Child Posted August 11 Share Posted August 11 I had an idea about being able to use 3 monitors (in monochrome b/w) by redirecting each of the R G B lines to an individual monitor (along with the sync signals). Using 1 bitplane for red, 1 bitplane for green and 1 bitplane for blue, you could do three 640x200 b/w monitors for a total mono resolution of 640x600 pixels. Another possibility is that you could do a single b/w monitor with a second monitor that had 4 levels of grey. That would be an interesting experiment. I remember how the PC had the ability to do a mda as well as a cga simultaneously. It might be a little bit easier now that you have cheap VGA 4 port splitters and cheap monitors. Did anyone ever try this? Quote Link to comment Share on other sites More sharing options...
Brek Martin Posted September 10 Share Posted September 10 (edited) On 8/11/2024 at 10:01 AM, Golden Child said: I had an idea about being able to use 3 monitors (in monochrome b/w) by redirecting each of the R G B lines to an individual monitor (along with the sync signals). Using 1 bitplane for red, 1 bitplane for green and 1 bitplane for blue, you could do three 640x200 b/w monitors for a total mono resolution of 640x600 pixels. Another possibility is that you could do a single b/w monitor with a second monitor that had 4 levels of grey. That would be an interesting experiment. I remember how the PC had the ability to do a mda as well as a cga simultaneously. It might be a little bit easier now that you have cheap VGA 4 port splitters and cheap monitors. Did anyone ever try this? It's harder to find a neat A500 schematic online than it was years ago. The vector schema page I used to use appears to be unresponsive. I just wondered if the HSYNC, VSYNC, or CSYNC signals are internally buffered, or if the port pins are direct from Agnus. The reason I bring it up is because I wonder if they intended the fanout of those signals like that. On the CD32 debug board I had, the sync signal from the CD32 expansion connector was buffered with some stock logic on the debug board, and that was just because the debug board provided an output for one single RGB monitor that the CD32 doesn't have. You could tie one input of an AND gate high, send the sync signal to the other input, and there's your buffer. Sounds like a cool idea, I just don't see a practical use when it will only work with your own custom software. There could be practical use that I don't see of course. Edited September 10 by Brek Martin Quote Link to comment Share on other sites More sharing options...
Daedalus2097 Posted September 10 Share Posted September 10 Yeah, the AmigaWiki page seems to have lapsed. There are a couple of people trying to get the various content and host it elsewhere, so I'm sure it'll be available again in some form or another. But to answer the question: the H- and V-sync lines aren't buffered and are driven directly from Agnus / Alice, with the intention being that they can also be driven externally by a genlock. Loading these signals too heavily will cause the machine to fail to boot because it sits waiting for an external clock signal that never arrives. But simple logic would work fine on them - after all, the standard buffered VGA adaptors simply use a 74 chip to buffer both sync lines. C-sync is buffered before being fed into the video hybrid. I don't know how much load the hybrid is designed for, but putting too much load on that line won't disrupt the operation of the machine. Quote Link to comment Share on other sites More sharing options...
Brek Martin Posted September 10 Share Posted September 10 4 hours ago, Daedalus2097 said: Yeah,... That should sort him out then, so long as he can make a small board that doesn't directly short the 5V supply, and blow the current limiting resistor I don't know the Amiga enough from the software side to know that it's bitplanes are directly associated with the hardware RGB colour channels, but you'd have pointed it out otherwise I guess, or an image could be drawn with a palette that includes pure R,G,B components to achieve the same thing. The whole idea has a slight "out of the box-ness" that I like. Quote Link to comment Share on other sites More sharing options...
Golden Child Posted September 12 Author Share Posted September 12 My idea was to use a buffered VGA adapter on an a500 and use a 4 port VGA splitter which creates 4 vga outputs, duplicating all of the necessary sync signals. I've used a 4 port VGA splitter which works fine with 15khz signals and will work with VGA monitors with 15khz support. I bought some VGA terminal breakout boards from ebay so I could rewire them to make a custom pinout. Another alternative is just to get a regular VGA cable and remove the pins you don't want to connect, so one monitor will only get the red signal, one will only get blue, and one will only get green. Viewsonic makes some monitors that support 15khz and will also allow you to set it into a monochrome color mode. Quote Link to comment Share on other sites More sharing options...
Daedalus2097 Posted September 12 Share Posted September 12 On 9/10/2024 at 7:04 PM, Brek Martin said: I don't know the Amiga enough from the software side to know that it's bitplanes are directly associated with the hardware RGB colour channels, but you'd have pointed it out otherwise I guess, or an image could be drawn with a palette that includes pure R,G,B components to achieve the same thing. Well, the bitpanes don't have any alignment whatsoever with the colour signals. I was just assuming the OP would be using a specifically crafted palette to have it work that way. Setting pens 1, 2 and 4 to red, green and blue should have the desired effect. Quote Link to comment Share on other sites More sharing options...
phoenixdownita Posted September 12 Share Posted September 12 (edited) 1 hour ago, Daedalus2097 said: Well, the bitpanes don't have any alignment whatsoever with the colour signals. I was just assuming the OP would be using a specifically crafted palette to have it work that way. Setting pens 1, 2 and 4 to red, green and blue should have the desired effect. Well he needs to set all 8 so he can set a pixel on more than one screen at a time. Obviously each of the 8 colors in the palette will always carry max for r g b, but he does need to set all of them for example pen 8 (0x7 = 0b111) to 4095 (all 12 bits to 1) as that will turn on the same pixel on all 3 screens as needed (for example if he happens to set to 1 the same bit/pixel on all 3 bitplanes), pen 3 needs to max out (4 1s) the 2 respective colors (whatever he sets on 1 and 2 … he can literally binary OR those 2) and leave zero in the rest etc… Edited September 12 by phoenixdownita Quote Link to comment Share on other sites More sharing options...
Brek Martin Posted September 12 Share Posted September 12 (edited) 1 hour ago, phoenixdownita said: Well he needs to set all 8 so he can set a pixel on more than one screen at a time. Obviously each of the 8 colors in the palette will always carry max for r g b, but he does need to set all of them for example pen 8 (0x7 = 0b111) to 4095 (all 12 bits to 1) as that will turn on the same pixel on all 3 screens as needed (for example if he happens to set to 1 the same bit/pixel on all 3 bitplanes), pen 3 needs to max out (4 1s) the 2 respective colors (whatever he sets on 1 and 2 … he can literally binary OR those 2) and leave zero in the rest etc… I was assuming the content on all three monitors is supposed to be unique, otherwise the method described to use three monitors is over-complicated. "you could do three 640x200 b/w monitors for a total mono resolution of 640x600 pixels." Edited September 12 by Brek Martin Quote Link to comment Share on other sites More sharing options...
Brek Martin Posted September 12 Share Posted September 12 1 hour ago, Daedalus2097 said: Well, the bitpanes don't have any alignment whatsoever with the colour signals. Of course they don't! A few more synaptic connections were made since my last post. Addressing four monochrome bitplanes in parallel would provide sixteen indexes to address palette tables of wider values that can appear on-screen simultaneously. Quote Link to comment Share on other sites More sharing options...
Daedalus2097 Posted September 12 Share Posted September 12 Yup I was assuming different content on each of the monitors too. You have 6 bitplanes at your disposal, so you could have 2 bitplanes for each display for 4 possible pixel values (e.g. Gameboy display). Unfortunately, there are only palette entries available for 5 bitplanes, so one of the displays would be just a single brightness level for the entire display. 1 Quote Link to comment Share on other sites More sharing options...
Golden Child Posted September 24 Author Share Posted September 24 A proof of concept application could be done with Blitz Basic 2.1. So the bitplanebitmap command will make a bitmap structure that copies the plane pointers that you select so you can draw to specific bitplanes. The actual bitplanes aren't copied, just pointers to the bitplanes. BitPlanesBitMap SrcBitMap, DestBitMap, PlanePick BitPlanesBitMap creates a ‘dummy’ bitmap from the SrcBitMap with only the bitplanes specified by the PlanePick mask. This is useful for shadow effects etc. where blitting speed can be speed up because of the fewer bitplanes involved https://eab.abime.net/showthread.php?t=85218 BitPlanesBitMap 0,re0,%001 ;binary for better understanding BitPlanesBitMap 0,gn0,%010 ; bitplane masking!! BitPlanesBitMap 0,bl0,%100 ; :-) Quote Link to comment Share on other sites More sharing options...
Golden Child Posted September 26 Author Share Posted September 26 Screen 1,3 BitMap 0,320,200,3 ScreensBitMap 1,0 BitPlanesBitMap 0,1,%001 BitPlanesBitMap 0,2,%010 BitPlanesBitMap 0,4,%100 For i = 0 To 2 Use BitMap 2^i ; controls gfx output BitMapOutput (2^i) ; controls text output Cls Locate 1,1 NPrint String$(" ",i*10),"bitmap ",2^i Circlef 100+Cos(6.28/3 * i)*30,100+Sin(6.28/3 * i)*30,40,40,1 Next i For i=0 To 7 RGB i,(i&1)*15,(i&2)*15/2,(i&4)*15/4 Next After learning my way around Blitz Basic 2.1, I was able to get it to render to an individual bitmap, one for red, one for green and one for blue. Quote Link to comment Share on other sites More sharing options...
Daedalus2097 Posted September 27 Share Posted September 27 Nice As an aside, for an emulated machine with effectively massive amounts of RAM and CPU power, using the less limited versions of Blitz will be a far nicer experience. Blitz 2.1 came with 2 IDEs, one for use on floppy-only, Kickstart 1.3 machines (called Ted), and one for more expanded machines (called SuperTed). Installing to a virtual hard drive will give you the option of using the newer editor, as well as better command libraries and a better debugger. I strongly recommend using that instead for anything but the simplest of projects. The most comprehensive version of Blitz 2 is the UBB Plus CD, which can be downloaded as an ISO and mounted in an emulator. This includes all the various updates, fixes and extras released over the years that will be missing from the floppy version, and is well worth looking into: http://ubb.plus/ Finally, if you want to go all out, the open-source continuation of Blitz Basic is called AmiBlitz 3, and offers a massively improved IDE that's far more modern-feeling than SuperTed as well as many other fixes: https://github.com/AmiBlitz/AmiBlitz3 Quote Link to comment Share on other sites More sharing options...
Golden Child Posted September 27 Author Share Posted September 27 (edited) I've never used Blitz Basic before and it's pretty awesome. I wish that I'd known how cool it was back in the day, I bought AMOS the Creator 1.3 and thought AMOS was the "greatest thing ever". Blitz has some really clever features, having assembly language as well as c like structures. It's not really beginner friendly though, the learning curve is a bit high. Ted is really wacky to use, I guess I'm spoiled by the modern GUI text editors. On the PC, there's Blitz Max which is pretty cool, it's now open source. I was always also fascinated with the "Div games studio" game programming language. Thanks for the pointers on Blitz Basic and AmiBlitz. One of the things I've always wanted to do is to write my own Rescue Raiders remake, and it looks like Blitz is powerful enough. I'd like to make a b/w game that could span 3 screens for a panoramic view. Edited September 27 by Golden Child Quote Link to comment Share on other sites More sharing options...
Daedalus2097 Posted Monday at 06:53 PM Share Posted Monday at 06:53 PM Yeah, there's very little you can't do with Blitz - it's awesome both for games as well as system-friendly applications. Ted is definitely of its era! Really, we are spoiled these days, but IIRC there are Blitz Basic plugins for Notepad++ and VSCode on the PC, with all the required scripting to transfer directly into an emulator for testing. But AmiBlitz's editor is far closer to a modern editor than it is to Ted. In case you weren't aware, there are a few impressive games written in Blitz Basic, including Worms (and Worms: Director's Cut), Skidmarks / Super Skidmarks and Foundation (which was a latecomer in the Amiga's life, but is a complex, settlers-style game that supports things like graphics cards). 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.