Tumgik
#video byte II
commodorez · 2 years
Text
Tumblr media
Behold! The Video Byte II
Tumblr media Tumblr media
This is a crude video frame capture device from 1989 for the Commodore 64.
It plugs into the user port, and allows you to feed in NTSC composite video to be digitized in 2-bit grayscale. After that, you can apply the C64's 4-bit color pallet to the color.
Remember how I said it takes about 4 seconds to capture? If you can't feed it a still image, the results are going to be all garbled, so you need either a still image on the screen from a VCR. That, or you have some way to freeze a signal using a piece of specialized piece of broadcast kit. However, the manufacturers expected you to use this entirely differently: treating it almost like a digital camera. You were intended to connect this to a video camera, and set up a still scene, then use your Video Byte II to capture that scene.
After that, you can tweak the color pallet, shift the capture frame in software, and adjust the lighting. When you're done, you can print it out, or save it as a Koala Paint compatible image for further editing (other formats were supposedly in the works)
So for the next few days I will be posting digitized photos (mostly my work) under the tag #video byte II
119 notes · View notes
techav · 1 year
Text
VCF Southwest
This was the first time I've been able to attend a VCF, and it was the first held in the Dallas area in over a decade. I was lucky enough to participate as both event staff, helping to plan and run the show, and as an exhibitor. It was exhausting, it was overwhelming at times, and I nearly lost my voice by the end of the first day ... But it was also an incredible experience and I really enjoyed it.
Tumblr media Tumblr media
I brought a few of my projects to show off. First and foremost was my Wrap030-ATX project, which I paired with a Wyse WY-30 terminal I rescued from Computer Reset, and had running a demo program for printing names on my recently-repaired Apple ImageWriter II/L. Next to that was my Wrap030 board stack running a Mandelbrot fractal renderer using its 68882 FPU and video generator cards. Then came the Mac SE from Computer Reset I repaired, with my SE-VGA card driving an external monitor, and running Oregon Trail (always a crowd favorite!). Finally I had my Franken-Plus, which sadly suffered a power supply failure early on the first day and sat dark all weekend.
My exhibit was situated just down the row from @commodorez , who won the show's Best Microcomputer award for his "VICs that aren't 20" exhibit of rare and lesser-known Commodore computers. Across from Commodore-Z was Usagi Electric, who won Best in Show for his exhibit of the Centurion, a PDP-11, and his vacuum tube computer.
I had a great time talking to Commodore-Z, @ms-dos5 , Usagi Electric, Nybbles and Bytes, Macintosh Librarian, Retrotech Chris, Kevin & Michael of the Turbo 9 Team, Al Williams, and so many more wonderful people that I couldn't even begin to catch names for.
I also got to go into deep-dive discussions on very specific details about my projects with people who already knew so much more about the components and the tools that I'm using than I do. It's energizing to be around people that understand the work that goes into these projects and appreciate what I've accomplished.
Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media
The show was so much bigger than I anticipated. Including staff, volunteers, sponsors, speakers, exhibitors, and attendees, we saw nearly 900 people come through the main hall over the course of the weekend. Seminars were full, with CuriousMarc's presentation on Restoring the Apollo Guidance Computer forming an imposing line for entry well ahead of the scheduled start of the talk. We had incredible community turnout; it was great to see entire families come through with awestruck small children in tow.
There was so much to see and do, so many people to talk to. The entire weekend is just a blur. My brain is still trying to process everything from the show.
One thing does stand out though — an unbelievably generous act from someone I spoke to on Saturday about my homebrew builds and my methods for testing and debugging. This kind soul was so impressed by what I have accomplished without an oscilloscope that he bought one from the VCFSW charity auction and gave it to me on Sunday. I was so surprised I didn't think to even get his name before he disappeared into the crowd. I can't wait to put it to good use, and I hope that what I build with it lives up to his expectations.
Following VCF East earlier this year, Bil Herd said something about riding that high from VCFE, and that prompted him to agree to come out to join us at VCFSW this year. Now that I've experienced it for myself, I understand what he meant. I've been looking though all the pictures and blog posts everyone has been sharing, and catching up on recordings of the presentations I missed. Interest in some of my projects has me thinking about what I can do with them next. It's exciting.
I can't wait until next year.
115 notes · View notes
lancrewizzard · 1 year
Text
Adding to the long list of pre-coming our queer Rincewind moments: whatever the hell is going on here.
Tumblr media Tumblr media
36 notes · View notes
Text
Most of the spider people in the Across the Spiderverse
Miles Morals
Gwen Stacy
Peni Parker
Peter B. Parker
Mayday “May” Parker aka Spider-girl
Spider Noir
Miguel O’Hara aka Spider-Man 2099
Pavitr Prabhakar
Jessica Drew aka Spider-women
Hobie Brown aka Spider-Punk
Ben Reilly, aka the Scarlet Spider (he’s a clone)
PlayStation Spider-Man
Spider-Man Unlimited
Spider from The Spectacular Spider-Man
Takuya Yamashiro Spider-Man from the live action 1978 japan show
Tobey Maguire's Spider-Man
Andrew Garfield's Spider-Man
Insomniac PlayStation Spider-Man video games. (There 3 different version of re-color skins)
Spider-Armor MK 1, MK II. And MK III
Mary Jane Watson-Parker aka Spinnerette
Annie May Parker aka Spiderling
Maybelle Reilly aka Steampunk Lady Spider
Werewolf Spider-Man
Spider cop
Mangaverse Spider-Man
Superior Spider-Man, (who is actually Doctor Octopus possessing Peter)
Anya Corazon aka Spider-Girl aka spider bitch
Julia Carpenter aka Madam Web
Armored Spider-Man.
Kaine Parker aka Tarantula aka Scarlet Spider (he’s also a clone like Ben)
Earth-X Spider-Man (??? Not 100% sure)
Spider monkey
Spider cat
Spider t-Rex
Bombastic Bag-Man (it’s Peter Parker who in a different outfit because an issue with the venom suit left him without a outfit)
Cyborg Spider-Woman
Doppelganger (another mother freaking clone)
Iron Spider (outfit made by Tony Stark)
Margo Kess aka Spider-Byte
Captain Spider aka Flash Thompson
Spidercide (you freaking guess it; another clone)
Spider-Man 2211, aka Dr. Max Borne
Spider-Therapist
Patrick O’Hara aka Web-Slinger and Spider-Horse
LEGO Spidey
Malala Windsor aka Spider UK
Peter Parkedcar
1967 Spider-Man (aka that one Spider-Man point meme is from)
Charlotte Webber aka Sun-Spider
The Last Stand spider-man from Earth-616 (alternate universe were he’s bad)
Web-Man (mirrored duplicate of Spider-Man created by Doctor Doom)
Peter Porker aka Spider-Ham
Peter Parker From Earth-199999
A Spider-Man in the Tron costume
Metro Spider-Man ( Metro Boomin’s sona. He is the production of the Spider-Man: Across The Spider-Verse soundtrack)
Future Foundation Spider-Man
Bullet Points Bruce Banner (from a what if comic were Bruce and Peter swap roles)
Ultimate Tarantula (clone)
Spyder-Knight
Spider-Mechanic
Dormammu-Verse Spider-Man
Prince of Arachne
That’s all the one I could find! I mostly likely miss a lot…
46 notes · View notes
cerulity · 1 year
Text
Arc<[T]> vs Vec<T> & Arc<str> vs String
I put this comment underneath a video from ThePrimeagen's second channel, ThePrimeTime.
II did some clone benchmarking for Arc<[T]> and Vec<T> (avg. of 10000 clones):
Arc<[String]> improvement factor over Vec where v = (0..count).map(|i|i.to_string()).collect(): 1 element(s): 3.92x 10 element(s): 15.58x 100 element(s): 170.69x 1000 element(s): 1479.41x 10000 element(s): 13977.39x
Arc<[u8]> improvement factor over Vec where v = (0..count).collect(): 1 element(s): 2.32x 10 element(s): 2.18x 100 element(s): 3.34x 1000 element(s): 3.27x 10000 element(s): 6.21x
I chose these types because it gives the most advantage to each type, representing extremes. String, being non-Copy & 24 bytes, Arc<[String]> overtakes it by a ton, as Vec must allocate more and clone strings. u8, being Copy & 8 bytes, benefits Vec more, as the smaller size and copying shortcut makes reallocation and copying faster. But even then, Arc<[u8]> overtakes Vec, even with a single element.
I also did a String vs Arc comparison (s = String::from_utf8_lossy(&((0..elements).map(|_|thread_rng().gen_range(b' '..=b'~'))).collect::>()).to_string(), just a randomly generated string): 1 element(s): 1.72x 10 element(s): 1.75x 100 element(s): 1.81x 1000 element(s): 2.89x 10000 element(s): 4.73x
This is the closest comparison, but even then, Arc takes the lead.
Overall, Arc<[T]>/Arc performs much better than Vec/String for cloning. Of course, it is important to take into account if possibly sacrificing readibility and usability is worth the performance, but these are interesting results. You can think of using Arc<[T]> as a replacement for &[T] or &Vec, in which case it is much easier to manage.
Just for fun, I decided to repeat the Arc<[String]> vs. Vec comparison with longer strings ((0..elements).map(||String::from_utf8_lossy(&((0..chars).map(||thread_rng().gen_range(b' '..=b'~'))).collect::>()).to_string()).collect(), 1000 clones for performance reasons):
1 char(s), 1 element(s): 4.02x 1 char(s), 10 element(s): 18.10x 1 char(s), 100 element(s): 143.89x 1 char(s), 1000 element(s): 1720.46x 1 char(s), 10000 element(s): 14756.19x
10 char(s), 1 element(s): 3.89x 10 char(s), 10 element(s): 27.85x 10 char(s), 100 element(s): 247.02x 10 char(s), 1000 element(s): 1814.16x 10 char(s), 10000 element(s): 17717.06x
100 char(s), 1 element(s): 5.74x 100 char(s), 10 element(s): 15.95x 100 char(s), 100 element(s): 168.18x 100 char(s), 1000 element(s): 1525.42x 100 char(s), 10000 element(s): 24618.56x
1000 char(s), 1 element(s): 5.11x 1000 char(s), 10 element(s): 19.13x 1000 char(s), 100 element(s): 221.53x 1000 char(s), 1000 element(s): 2596.63x 1000 char(s), 10000 element(s): 112319.20x
10000 char(s), 1 element(s): 8.50x 10000 char(s), 10 element(s): 65.13x 10000 char(s), 100 element(s): 852.36x 10000 char(s), 1000 element(s): 61820.92x 10000 char(s), 10000 element(s): 598994.74x
Fascinating.
Disclaimer & extra info: Every Arc clone operation took ~60ns to perform. The results of this benchmark may not line up with other computers or codebases, but it's apparent That Arc<[T]> & Arc have substantial performance improvements over their Vec counterparts. Element count does not matter for Arcs, but it can be helpful to know when making tradeoffs.
This comment was fun to make, I didn't want it to go to waste.
Edit: It should be important to mention that there is a tradeoff. Arc<[T]> and Arc<str> are not mutable. Vec<T> and String are. Of course, that doesn't mean it's hard to create. In fact, with Arc<String>, conversions from Vec<T> -> Arc<[T]> and String -> Arc<String> are constant-time operations, as the data is not cloned, the pointer is simply moved between containers (Arc<str> must own the data, so it is cloned, which is why Arc<String>, which has as many features and basically identical performance, must be used to get constant-time conversion).
12 notes · View notes
Text
Reality Bytes, Chapter 3: Little Gothic Castle
The four boys stopped the recording after fifteen minutes of trying to settle on an outro, then started a new one for the new video.
“Okay, so, we can play now, right?” Yuri asked. By this time he was no longer able to conceal the hope and excitement in his voice. Yuya immediately grinned and teased him playfully, “Wow, Yuri, you’re pretty eager to play! Didn’t you say that Reality Bytes was a girl game?”
“Shushit, Yuya! Let’s just play the game!” Yuri said, his cheeks flushing slightly. His counterparts giggled, and Yuya said, “Alright, we can play. But first we have to move Zarc into his new home!”
The computer screen now showed a world map with a bunch of different icons all over it. Yuya smiled and said, “Oh, wow! This game has way more base game Settlements than any of the other Reality Bytes games!”
“Have you played the other games?” Yugo asked him. Yuya nodded and said, “Yeah, I actually own all of the games. I’ve been playing since I was like… I wanna say five? Back when the first Reality Bytes game was still relatively new. It came out shortly after I was born, and Mom loved playing it in her free time. My earliest memory of Reality Bytes is when Mom let me play on the computer and she went to get me a snack, and in the short timespan that she was in the kitchen I managed to set my house on fire and all my little Folks were dead by the time Mom came back. I didn’t understand what was going on, cuz I was five. But yeah, I’ve been playing Reality Bytes ever since then. So I know a thing or two about how to play.”
“Oh thank god, we got someone with experience,” Yuto said, relieved. “You can make sure we don’t accidentally kill off Zarc, right?”
“Definitely,” Yuya reassured him. “I know all of the basic deaths that are generally included in the base games and good ways to avoid them. There’s drowning, fire, electrocution, freezing, heatstroke, sickness, and food poisoning. Other death types are usually added through game packs, like in Reality Bytes Historical, the tenth game in the series, they added Death by Swordfighting and other historical death types with the game packs that added the time period they were from. And in Reality Bytes II, Folks could die of rabies if they were bitten by a wild animal if they had the Wilderness pack.”
“How many Settlements do the other base games have?” Yugo asked. Yuya replied, “Usually between one and three, though Historical had five. But you couldn’t travel between those five very easily. I think the company that previously owned the Reality Bytes sold it cuz they were getting a lot of criticism from the eleventh game because it was so buggy and had very little content for the prices and every time they released a new pack, it was broken. So the new company promised to make the twelfth game the best in the series. They said that almost everything that was added to the previous games through packs would be part of the base game in the twelfth game, like occult Folks, celebrities, seasons, college, hotels, pets, and more, as well as a lot of new stuff. I think one of the new things is actually being able to go to school and work with the Folks. Oh, and the various modes, too. Those are definitely new.”
“So, how many Settlements do we have in this game?” Yuri asked. Yuya looked at the computer screen and counted. “Fifteen, but I think that’s just the Settlements in Free Mode. I think all the other modes have their own Settlements. So let’s see. There’s Sunrise City, the metropolis. There’s Crystal Bay, the island paradise. Green Springs, the suburban town. Diamondback Palms, the desert town. Mount Shimmersnow, the mountain village. Agrippina Woods, the forest town. Riverdale Acres, the farming community. Darkfall Valley, the gothic town. That one was one of the Settlements mentioned by the developers as a base game occult Settlement. Uhm, Silver Falls, the lakeside houseboat community. Seraphina City, another base game occult Settlement. I think that one is bigger and has enough neighborhoods for each base occult to have their own, plus a few extras for mixed communities and non-occult communities. Ah, let’s see, what am I missing… Oh, Starlight City, the big celebrity city. Oh! Paradigm City, that’s the capital of the main Reality Bytes nation, interesting to see it finally be added to a game! It’s only ever been mentioned in the other games! There’s San Selido, the jungle settlement, that one is supposed to have a lot of treehouse homes. Evermore, the college town. And Debutown, a giant empty city made specifically for people who like to build their own stuff and populate the Settlements themselves.”
“Wait, we can build our own house?” Yuto asked, intrigued. Yuya nodded. “Yep, each of the neighborhoods in each of the Settlements has at least one empty lot for people to build their own things, and at least three of the houses already built in each neighborhood are uninhabited and ready to move in. Plus, each Settlement has at least four neighborhoods. One lower-class, one middle-class, one upper class, and one commercial.”
“Okay, I wanna build Zarc’s house,” Yuri said. Yugo nodded eagerly, “Yeah, it’ll probably suck, unless Yuya’s good at building in Reality Bytes, but we gotta at least try!”
Yuya’s eyes widened and he chortled, “Uhm, yeah, I’m no good at building. It’s gonna be terrible. I usually just download houses or place my Folks in pre-made houses. The last time I tried to build, it ended up looking like an architect’s worst nightmare. The placement of the windows and doors made it look like it was staring into my soul…”
Yuto chuckled. “Well then, let’s build a house! Now, where should we build it?”
“Well, if Zarc wants to be an A-List Actor, then what better place for him to live than the big celebrity city?” Yuri suggested. “What’s its name again?”
“Starlight City,” Yuya reminded him, clicking on the map icon for the city. The map slide-transitioned to a new map, this one of the city itself. The four boys’ eyes widened at all the details and lots, and they spoke together, “Whoa!”
“That is so cool!” Yugo said excitedly. Yuri nodded in agreement. “And look! There’s six residential neighborhoods! Let’s take a look!”
They started checking out the neighborhoods, first starting with what appeared to be the poorest neighborhood. The houses looked like they were very cheap, and Yuri pursed his lips. “No. We don’t want Zarc to live in a trailer park. Just no. He deserves better.”
“How about here?” Yuya suggested, moving on to what seemed to be the working class neighborhood. The houses in that neighborhood appeared to be rather decent, albeit a bit small and with no backyards. The empty lots in the neighborhood were also small.
“Eh, too small,” Yuto said. “Next neighborhood.”
The next neighborhood was clearly the middle class neighborhood. The houses were quite nice, ranging from small two-bedroom houses to modest two-story houses, and they all had very nice backyards. The empty lots appeared to be the same size as the lots that the two-story houses were on.
“That could be a nice place to live,” Yugo said. “Oh, and look! That empty lot is right next to a river! Maybe Zarc could get into fishing!”
“Oh my god, guys look! It’s a little black castle!” Yuri said suddenly, pointing at a house in what seemed to be the upper-middle class neighborhood. “Yuto’s dream home!”
“Oh my god, it really is!” Yuto exclaimed, looking at the little gothic castle in delight. “Can Zarc live there?”
“No, someone already lives there,” Yuya pointed out. “See that little white soccer ball-shaped glowy orb over it? That means someone lives there.”
“Ah, just kick them out and let’s steal their home!” Yuto said. Yugo giggled. “Can I just say, that castle is totally throwing off the neighborhood’s feng shui. You’ve got all those nice pastel houses and then it’s just black castle of death! and the vibe is ruined.”
“Exactly my kind of house!” Yuto said. “C’mon, let’s just kick them out!”
“We can’t,” Yuya explained. “Not until we move in somewhere. We’re in Moving Mode, which means we can’t evict anyone yet. Also, I’m pretty sure we can’t afford the gothic castle yet. We only have 35,000 ByteCoin.”
“Really? ByteCoin?” Yuri asked, unimpressed. Yuya shrugged. “That’s the name of the currency in Reality Bytes. Yuri raised an eyebrow, then rolled his eyes and shook his head. “Puns.”
“We seriously can’t afford my dream home?” Yuto asked, slightly devastated. Yuya patted his shoulder. “Don’t worry, Yuto. We’ll make our house black so it can be gothy for you. And if we can afford it, we’ll even put in a tower or two!”
This seemed to pacify Yuto, and he settled down so that the boys could continue checking out the rest of the city. They moved on from the upper-middle class area to the upper class area, impressed by the mansions. Yugo’s tourmaline eyes were sparkling and he said, “Now that is where I wanna live! It’s like Tops territory!”
“We should totally move into one of the empty lots and ruin the feng shui of the neighborhood to avenge Yuto,” Yuri giggled. “Build our crappy little poor house with its gothic black exterior and tower, and make the neighbors ashamed to have us living next door.”
“Yes,” Yuto said immediately. “Avenge me. Zarc must live in a rich neighborhood and ruin the feng shui.”
“Well, before we settle on this neighborhood, there’s one more to check out,” Yuya said. “The 1% neighborhood. The neighborhood with the biggest mansions. It looks like they’re like multi-billion yen houses!”
“Ooh, change of plans!” Yugo said eagerly. “We move into the biggest empty lot in that neighborhood, build our crappy little poor house, making it black with a tower for Yuto, and make the whole city scandalized!”
Yuto, Yuri, and Yuya all hummed in agreement, and looked for the biggest empty lot in the elite neighborhood. It didn’t take them too long to find it. It was an incredibly massive lot of 100 by 100 squares, and it appeared to be on the highest peak in the entire city. Yuya read the price and winced. “It’s going to cost us 17,500 ByteCoin to buy this lot. That’s literally half our money if I’ve done the math correctly. Which I probably haven’t. We’re all 100% certain it’s gonna be worth it?”
“Yes,” his three counterparts said together. Yuya gave a nod and moved the Zarc-Folk into the lot. As the game loaded, Yuya selected the Renovate button and smiled. “We’ve got 17,500 ByteCoin to build a poor man’s gothic castle. Let’s do this!”
There was suddenly a knock at the door and Yoko called out, “Boys, I brought you some cookies and milk!”
Yugo squealed in excitement. “Cookies! I love cookies!”
Yoko opened the door and walked in with a big plate of chocolate chip cookies and four tall glasses of milk on a tray. “Here you go, boys! Eat up!”
“Thanks Mom!” Yuya said happily. “Oh, hey Mom! Say hi to the camera!”
“Oh, are you recording your play session?” Yoko asked, smiling brightly. Yuto nodded, “Yeah, we’ve decided to start a gaming channel playing Reality Bytes.”
“It was my idea,” Yuri said proudly. Yoko beamed and said, “Sounds like fun! Enjoy your games!”
As she left the room, Yugo looked at Yuya. “Your mom’s awesome!” he said, stuffing his mouth with a cookie. Yuya smiled and replied, “I know. Now, let’s build Zarc’s house!”
“Okay, so how do we do that?” Yuto asked, scooting a little closer to the computer. At that, Yuya froze and blanked for a moment, before responding. “Uhm, well, we could draw the walls for the building and rooms ourselves but… Oh! This Reality Bytes game has pre-made rooms that we can place on the lot! They come fully furnished!”
“Oh, well if we do that, then the final product will probably look awful and ruin the feng shui of the neighborhood even more…” Yuri mused. “Let’s do it!”
“Yeah!” Yugo said eagerly. Yuto chuckled and the boys started searching through the pre-made rooms.
“We gotta keep in mind our budget of 17,500,” Yuya reminded his counterparts. “Plus we need to save some money for the tower. So we should probably go with cheap options.”
“Let’s start with the living room,” Yuto suggested. The boys selected the Living Room tab and laughed at the first option. “It’s so awful!” Yugo exclaimed. The first and cheapest option had a simple two-seater sofa and matching chair that looked very old and shabby, a coffee table with a small dead-looking houseplant, a poorly-lit ceiling light, and literally nothing else.
“Okay, I know we want to bring shame to the neighborhood, but we can’t make Zarc live with such an awful living room,” Yuya pointed out. “Folks are affected by environment. Make the house look as out of place as possible from the outside, but we need to at least give Zarc some decent things so he’s not uncomfortable.”
“Fair enough,” Yuri agreed. “The second option looks pretty decent from what I can see.” He was right, the second cheapest living room was a much needed upgrade. It had two nice three-seater vinyl-looking sofas and a matching chair, a coffee table with a living houseplant, a rug, a little TV on a console table, two end tables with lamps on them, a matching floor lamp, and a chandelier. It even had a few paintings on the walls!
“Wow, that’s actually really nice!” Yuto said, impressed. “And that’s just the second cheapest living room?”
“Mhm!” Yuya said, selecting the room and placing it near the front of the lot. Then he zoomed out and the boys laughed at how tiny it was compared to the rest of the massive lot. The living room was only 5 by 6 squares.
“Oh my god, the neighbors are gonna hate us!” Yuto laughed. Yuya giggled and replied, “I know right! And it’s only going to get worse! Now let’s go to the kitchen!”
He selected the kitchen tab and the boys scooted closer to the screen in anticipation. Yugo blinked at the first kitchen and said, “Okay, we can’t do that kitchen. It looks too much like the kitchen Rin and I grew up with. What’s the second option?”
The first kitchen was absolutely tiny, only 3 by 4 squares with an old cheap refrigerator that looked like it was one door-slam away from the dump, a stained counter, a cheap stove that looked like it wouldn’t even turn on half the time, and a sink. The floors were linoleum and the ceiling light matched the first living room’s ceiling light.
The second option was quite nice, a 4 by 4 room with several granite-looking counters, a matching island, a decent stove and fridge, and a better sink than the first one. The floors were tile, the light was a pendant light, and there were even some upper cabinets, a stove vent, and a bowl of fruit!
“Are all the second cheapest options this nice?” Yuya asked, tilting his head as the boys placed the kitchen right behind the living room. Yugo shrugged. “I don’t know, but we need to get some barstools for the island so Zarc can sit down to eat.”
He took the mouse and accidentally clicked on the stove as he was moving the mouse toward the catalog. The stove moved with the mouse, and Yugo yelped. “Ack! No! Stop! Go away stove! Go back to where you were! Shoo! Yuya! Yuya, help! I don’t know how to control this game!”
Yuya quickly took the mouse and moved the stove back to where it was supposed to be, clicking to place it. “You click once to pick up and click a second time to put down,” he explained, smiling. Yugo blushed. “Oh, I knew that…”
Yuri snorted and took the mouse from Yuya, being very careful not to click. He selected the catalog and searched for barstools. He selected a rather cute pink barstool and placed it at the island, then selected a second, purple barstool and placed it as well.
At this, Yuto raised an eyebrow. “Two?” he asked. Yuri looked at him. “Well, what if he has a date come over for dinner?”
“They’ll be scared away by Zarc’s datewear,” Yuya said with a grin. At this, the four boys started giggling like maniacs, remembering the teddy bear mascot costume.
After his giggles subsided, Yuri grinned. “Okay, now, before anything else, Zarc needs a bedroom and then a bathroom. Let’s see the options!”
The first pre-made bedroom was just as disappointing as the cheapest kitchen and living room. All it had was a cot, a dresser, and the same ceiling light as the others. Yuya made a face. “No. Just no. This is a house, not a prison!”
He selected the second option expectantly. This one was nicer, as the boys had come to expect, a 4 by 5 room with a double bed, a wall light and painting over the bed, a chair that matched the one in the living room, a rug, a wardrobe, a floor lamp, and a globe pendant ceiling light.
“Ah, yeah, now that’s more like it!” Yuya said, pleased as punch as he placed the bedroom directly next to the living room. Then he said, “Now it’s time for the bathroom! Who wants to bet that the cheapest one sucks and the second-cheapest one is really nice?”
Just as they suspected, the cheapest bathroom was simply awful. A 2 by 3 room with a toilet, sink, bathtub, and flimsy-looking mirror, as well as the same linoleum as the cheapest kitchen and the same ceiling lights they’d come to expect. The second cheapest bathroom was, as expected, much nicer, a 3 by 4 room with a shower, a fancy sink, a nicer looking toilet, a better mirror, and a houseplant. The floor was tile, the ceiling light was a chandelier, and the walls were white tile with one blue-painted accent wall.
“Bam!” Yuya said, placing the room directly behind the bedroom and next to the kitchen. Yuri nodded in approval. “Gotta have that bathroom close to the bedroom so nobody uses the sink as a urinal in the middle of the night!” Everyone looked at him in confusion, and Yuri scowled. “Someone did that once at Academia. True story.”
“Seriously?” Yuya asked. “Who does that?” Yuri shrugged. “The Obelisk Force, apparently.”
“Weren’t they supposed to be the elite students?” Yuto asked, unimpressed. Yuri just shrugged again.
Suddenly, Yuya’s duel disk played a little tune, and Yuya’s eyes widened. He dropped the mouse and scrambled over Yuri and Yugo, who were sitting between him and his duel disk. The two counterparts yelped and tried to get out from under him, but the tomato-head appeared to be very determined to get to his duel disk at any cost. He managed to grab his duel disk and clambered back over Yuri and Yugo back to his own seat, looking down at his duel disk with a lovey-dovey look on his face.
“Yuya!” Yugo scolded, pouting at the tomato. Yuya glanced up at him innocently and said, “Shingo’s texting me!”
“Someone’s in loooooove!~” Yuri teased, causing Yuya to blush brightly. “W-well if I don’t text him back within fifteen minutes of him texting me, he’ll start spamming me with messages until I respond!” he protested.
“A fifteen-minute time limit, and yet you drop everything and rush to check your texts the moment you hear his text sound go off?” Yuto raised his eyebrow in slight amusement.
“Yep, someone’s in love!” Yuri grinned. Yuya blushed brighter, and pouted, looking down at Shingo’s text. He lit up in delight when he read it. “Oh! Shingo’s inviting me and Reiji out to the skating rink this evening!”
“Really?” Yuri asked. “Both of you? Don’t he and Reiji normally only invite you out, and not each other?”
“Maybe he wants to show off, and have a competition between him and Reiji to impress Yuya with their skating skills?” Yugo suggested. “After all, both of them do tend to try to one-up each other to impress him.”
“That’s actually a good point,” Yuri conceded. “I wouldn’t be too surprised if that’s actually why Sawatari invited Reiji as well. He really is a bit of a show-off!”
“Moving on!” Yuya said, having sent a text to Shingo accepting his invitation during the conversation. “We’ve only got 4,644 ByteCoin left. Gotta add the tower now. Where do you want it, Yuto?”
Yuto studied the building they’d made from the rooms for a bit, then asked, “Can we put it at the front where the living room is, and put the front door on it?”
“Oh, that sounds perfect!” Yuri said. Yuya carefully added a 2 square long 4 square wide half-octagon to the front of the living room, then moved up a floor and built an octagonal room above the half-octagon. He then added an octagonal roof to the tower and placed a couple of gabled roofs on top of the first floor. “You know, that doesn’t actually look all that bad! Definitely better than I’ve ever done on my own!”
“Great! What’s next?” Yugo asked. Yuya considered for a moment, then said, “We need to paint the outside walls black, and add some windows and a front door. Oh, and a trash can too, cuz trash is a thing in Reality Bytes.”
Yuto took the mouse and began looking for a good black wall texture. He quickly found a black stone one that looked like it belonged on a proper castle. “Oh, perfect!” he said, delighted. “Uhm, how do I put it on the walls?”
Yuya smiled and took the mouse again, showing his counterparts how to paint the walls. He covered all the exterior walls in black stone, then looked at Yuto for his opinion. Yuto nodded in satisfaction, quite pleased with the result. “Windows?”
The boys searched through the window catalog, and quickly found windows that were clearly made for a castle. And they came in black too! Yuri tilted his head and asked, “Is there a castle in this game?”
“I think so, in Paradigm City,” Yuya replied. “Like I said before, that’s the capital of the nation that most of the Reality Bytes games take place in, and it’s a monarchy too, so I think the royal family lives in a medieval-style castle.”
“Interesting,” Yuri said. “Maybe Zarc should befriend the royal family. They could fund his lifestyle!”
“I mean, he doesn’t have very much money left,” Yuya pointed out. “And the windows are… Good grief! 125 ByteCoin for these little windows?! The bigger castle windows are the same price as these little ones! We’ve only got 3,726 ByteCoin left!”
“We gotta be careful how we place the windows then,” Yuto said. “Let’s see, I’m thinking we do three of these big windows in the bedroom, two on the side and one in the front, then two on the side of the living room. And then place four little ones on the side of the kitchen like so, so that they look like two bigger windows, and then do the same here in the bathroom—”
“Yuto, you’re using up all our money!” Yuya interjected, eyeing the funds. Yuto replied, “I’m almost done. Now, let’s add some little windows to the tower like this—”
“Yuto! Yuto, we don’t even have a door! How is Zarc going to get inside his house if he doesn’t have a front door?” Yuya said, trying to take the mouse.
“Ah, don’t worry, he can just camp on the lawn!” Yugo said, grinning. “You should add more windows, Yuto! Make your dreams come true!”
“No, no, no more windows!” Yuya said, still trying to get the mouse from Yuto. The eggplant-haired counterpart grinned and added one more window, before opening the door catalog. “Relax, Yuya, we still have 526 ByteCoin for doors. And look! There’s a bunch of 30 ByteCoin doors!”
“Oh thank god,” Yuya muttered, relaxing a bit. His relief was short-lived, as Yuto immediately selected a 500 ByteCoin door clearly designed for a castle. “Yuto! We’re not gonna be able to afford to eat!”
“Psh, who needs food?” Yuri said, grinning. Yuto looked at Yuya pleadingly. “C’mon, Yuya? This door is perfect for our poor man’s gothic castle! Please?”
Yuya groaned, then said, “Alright, fine. But we’re gonna need to get Zarc a job immediately.”
Yuto hugged him tightly. “Thanks, Yuya! This is why you’re my favorite!”
“Yuya’s my favorite too!” Yugo said, also hugging Yuya. Yuri grinned and joined the group hug, “Yuya’s everyone’s favorite!”
“Aww, thanks guys,” Yuya said, his voice muffled slightly from the group hug. “So, should we finish Zarc’s house and start actually playing?”
“Yeah!” Yuri said eagerly as the counterparts ended the group hug and sat back in their seats. “What’s left?”
“We need a trash can,” Yuya said. “The cheapest one appears to be 20 ByteCoin. That’ll leave us 6 ByteCoin for food which, if the prices of food have remained the same as Reality Bytes X, is enough for a single serving of salad and a bowl of mac n’ cheese.”
“Perfect!” Yuri selected the trash can and placed it outside behind the bathroom. “Then that’s Zarc’s house done!”
“Oh wait!” Yuya exclaimed. “Mailbox! He needs a mailbox! In Reality Bytes VIII, IX, and X, if you didn’t have a mailbox, one would spawn in your house right in front of the front door and block the way in.”
“Will we be able to afford salad?” Yuri asked. Yuya nodded, searching through the catalog for mailboxes. “Yeah, mailboxes are free. Mailboxes have always been free. I think we should get this wall mailbox and put it on the outside wall of the living room that doesn’t have any windows. Look, it even comes in black!”
“Black like my soul!” Yuto joked as Yuya placed the mailbox. “My gothic castle is complete!”
Yuri chuckled. “I mean, it’s not even a castle, it’s got gabled roofs and no battlements! It’s just got a tower!”
“Well, roofs are free, and battlements cost money,” Yuya pointed out, showing him the battlement-style fences. “We’re gonna have to earn the battlements.”
“Gotta love how we all just collectively decided to make a gothic castle because Yuto wanted that one in the upper-middle class area,” Yugo chuckled.
“Well, let’s see how it looks!” Yuya said, zooming out a little and rotating the camera around the house. After a moment’s observation, Yuri hummed, “Seems a little short to be a castle.”
“Yeah, but that’s just how tall the walls are in these games,” Yuya explained. As he spoke, he accidentally clicked on a button on the toolbar at the top of the screen, and the walls suddenly got taller. Yuya stared for a moment, then exclaimed, “Well that’s a new feature! We can make the walls bigger?”
“Now it looks like a proper castle height!” Yuri said with a grin. “Can we adjust the position of the windows to look better?”
“Uhm…?” Yuya clicked on a window and moved it up a bit. “Apparently! That’s also new! They didn’t have those features in any of the previous games!”
The four boys adjusted the windows, then sat back and smiled. “It’s perfect!” Yuto said, pleased. “All it needs now is to replace the gabled roofs with battlements, but like you said we’ll need to earn them.”
“I’m glad you like it!” Yuya said. “It’s actually the best house I’ve ever built in this game series! And that’s probably because it’s made entirely of pre-built rooms.”
“So now we play?” Yuri asked, now no longer bothering to even try to hide his excitement. Yuya grinned and nodded. “Now we play!”
0 notes
Text
Top Video Editing Agency in India
Tumblr media
Video content has become extremely important when it comes to marketing. In this digital world where attention spans are short and competition is cutthroat, engaging content is a must to attract and retain the audience's attention. Although most companies give a lot of importance to videos, the complexities of production often pose a challenge for them.
Hence, collaborating with a top video editing agency can be a turning point for your brand. The agency has a skilled team that can convert mere bytes into heart-gripping tales that you can relate to. A competent agency can manage everything from the initial idea to the final delivery, thus allowing you to concentrate on other important aspects of your business.
Bringing in their skill set, editing expertise, and versatility, you can produce a high-quality video that communicates your brand's message and even more achieves the goals. No matter if you are a business owner or marketing professional, a video editing company can significantly boost the quality of your videos.
Finding a top video editing agency is crucial. But who is the ideal candidate for your project or company and how to find them - let's get into the details.
Essential Criteria for Selecting the Right Video Editing Agency
Evaluate the Agency's Style
Start by reviewing the potential video editing company's portfolio. Examine a variety of projects that demonstrate (i) their scope of work, (ii) their style of editing, and (iii) their adaptability. Experience is vital - therefore, look at their performance history in your particular sector or niche.
Technical Proficiency Essential
A competent video editing company ought to possess adequate skills in the software generally accepted in the industry like Adobe Premiere Pro, Final Cut Pro, etc, to be specific. Furthermore, they are knowledgeable about the video types, codecs, and the technical details of the editing.
Artistic Vision Essential
Apart from technical skills, an editing agency needs an innate sense of creativity and insight regarding the art. This means the ability to tell a story, knowing the right pace, and choosing what looks engaging. Discuss creatively with them to test their abilities.
Clear and Consistent Communication
Efficient communication is a magnet. A video editing studio should be able to visualize the brand's goal, do questioning, and give updates throughout the project. Team tasks necessitate strong collaborative abilities.
Uncover their expertise through their portfolio
Referring to the past, you can check their performance. Be courageous when it comes to asking for references or even reading client testimonials to see how professional they are and the quality of the work they have done.
Attention to Detail Matters
Video editing requires a keen eye for detail. Look for a video editing agency that can spot imperfections and make necessary adjustments for a polished final product.
Choosing the best video editing company is a crucial choice for every video campaign. By exploring these factors in-depth and accomplishing extensive research, identify the ideal partner who will turn an idea into reality. Connect Vidzy a top video editing house in India which is an editor and a co-creator who can bring your project to a higher level. Let's explore!
Vidzy is a Top Video Editing Agency in India
Client Satisfaction
With more than 8 years of expertise and a portfolio including over 75 TV commercials, 50 CGI scene movies, and 400 digital ads, Vidji is proudly the provider of 1000+ brands. Their portfolio is proof of the client's satisfaction and their deep trust in the one-of-a-kind video content.
Customized Solutions
Vidzy counts as the best video editing services provider, and works with brands to create video solutions that are perfectly suited to the brand. They know that each brand has distinct requirements and objectives. Therefore, Vidzy presents video editing 
services that are 100% personalized and customized to unique needs. The team aligns with brands at every step of the process from concept development to post-production to ensure that the content speaks to the target audience and delivers results.
Time Management in Video Production
Deadlines in the video are the most important in video editing. Vidzy is a trustworthy video editing agency that recognizes the significance of time and puts in the effort to finish the project before the deadline without sacrificing quality.
Budget-Friendly Solution
Vidzy accepts the fact that quality does not have to mean luxurious pricing. They give you the chance to choose a package deal from a wide variety of options that are customized to your specific necessities. Their mission is to offer the best video editing service that will also fit your budget and give you the highest return on your investment.
In summary
Vidzy is a top video editing agency in India, providing full service in creativity and quality in every delivery. They have a team of highly qualified professionals, the latest tools and technology, and they are passionate about storytelling which distinguishes Vidzy from others in the market.
Increase your brand's visibility online, design attention-grabbing commercials, or develop an intriguing summary of an event with Vidzy that possesses the skills and enthusiasm to breathe life into your concepts. Engage in a collaboration with Vidzy and find out how the force of high-quality video editing can significantly contribute to the triumph of your brand.
0 notes
jcmarchi · 3 months
Text
Gothic, Elex Developer Pirahna Bytes Has Reportedly Shut Down
New Post has been published on https://thedigitalinsider.com/gothic-elex-developer-pirahna-bytes-has-reportedly-shut-down/
Gothic, Elex Developer Pirahna Bytes Has Reportedly Shut Down
Tumblr media
Piranha Bytes, the developer of series such as Elex, Gothic, and Risen, has been shut down. The studio was owned by Embracer, which had been seeking a buyer for the German developer as part of its ongoing cost-cutting restructuring following failed $2 billion deal with Saudi Arabia-backed Savvy Games Group last year. 
It was reported that Pirahna Bytes was looking for a new publisher following job cuts last year. In January, following a period of radio silence and inactivity from the studio, CEO Micahel Rüve addressed reports of an impending closure by stating the company was in a “difficult situation” while expressing optimism about finding a partner by saying, “Don’t write us off yet!” 
However, German website GameStar (as surfaced by Eurogamer) published a story reporting the studio was officially shut down in late June. Despite this report, there still has not been an official  announcement of closure from Embracer or Pirahna (the studio’s website remains inactive, however), and details about what exactly happened are scarce. Game Informer has contacted Pirahna’s publisher THQ Nordic for comment and will update this story with a response should we receive one. 
Tumblr media
However, earlier today, Pirahna leaders Björn Pankratz and Jenny Pankratz announced the formation of Pithead Studio, a new indie studio. In an announcement video, the pair acknowledges Pirahna’s silence over the past few months and says they plan to answer questions about Pithead’s founding on their YouTube channel starting each Monday. 
Piranha Bytes was founded in 1997 and is perhaps best known for creating the Gothic series. The studio also developed the three Risen titles and the Elex series; its final release was Elex II in 2022. A remake of Gothic 1 is currently in development by a different studio, Alkimia Interactive. Piranha Bytes was acquired by THQ Nordic in 2019, itself a publishing subsidiary of Embracer Group.
If true, this news would represent the latest Embracer casualty following the closure of Alone in the Dark developer Pieces Interactive last month. After months of layoffs, studio closures (including Saints Row developer Volition Games and Timesplitters developer Free Radical), and selling off its properties, Embracer split itself into three companies in April: Middle-earth & Friends, Coffee Stain & Friends, and Asmodee. 
0 notes
websterstylemag · 5 months
Text
Game Bytes: Star Wars Battlefront II (2005)
Star Wars: Battlefront II is a 2005 first and third-person shooter video game based on the Star Wars film franchise. Developed by Pandemic Studios and published by LucasArts, it is a sequel to 2004’s Star Wars: Battlefront and the second installment in the Star Wars: Battlefront series. Ways To Support Basil and Sage, visit them at https://basilandsage.com/. Use code WEBSTERSTYLE10 GoTieLess:…
Tumblr media
View On WordPress
0 notes
teardownit · 7 months
Text
Tumblr media
Sometimes, when making your own devices on microcontrollers, there is a need to display huge amounts of information on a display and to use a bigger screen for ease of perception. Unfortunately, there are no ready-made and budget-friendly solutions for this task on the market. LCD displays with the ability to connect to a microcontroller are usually tiny and pricy.
But at the same time, there is a wide selection of legacy LCD monitors with a VGA interface. Models with a diagonal of 15 to 19 inches can be purchased in perfect working condition for a very low price, or one can even get one for free. This especially applies to monitors with a 4:3 aspect ratio. In addition, such models are usually quite reliable.
Most older monitors only have a VGA connector for connecting to a computer. Sometimes there is an additional DVI port (on more expensive models). The HDMI connector is more common on modern devices.
Thus, with a probability close to 100%, we'll get just a VGA on an older monitor. In order to display an image on such a monitor, it is enough to work with only five signals: analog R (red), G (green), and B (blue), responsible for the brightness of each color component, as well as digital HS (horizontal sync) and VS (vertical sync), providing synchronization. Analogue signal levels should range from 0 to 0.7 V, where 0 V corresponds to no light at all and 0.7 V to maximum brightness. Digital signals HS and VS are short pulses with a TTL level of negative polarity. The timings of these signals can be found, for example, here: http://tinyvga.com/vga-timing/640x480@60Hz.
Typically, special controllers, or FPGAs, are used to generate video signals, and many FPGA development boards are already equipped with a VGA connector. However, FPGAs are often expensive and require many additional components. I was looking for a simpler and cheaper solution. As a result, the decision was made to use CPLD. CPLDs have fewer available logic gates (LEs) than FPGAs but are less expensive. For example, the MAX II Altera EPM240 development board is sold on Aliexpress: https://www.aliexpress.us/item/3256804686276488.html for only $8.12 (excluding shipping), and the kit even includes a programmer. The chips themselves can be purchased for $1.6–2.1 (for nice knockoffs).
Tumblr media
Plain text mode was chosen for implementation because it is easier for a slow microcontroller but at the same time quite informative. Some graphics elements can be implemented using pseudo-graphics symbols, as was often done in the days of DOS. The introduction of a graphics mode would require transferring a large amount of data from the microcontroller and additional efforts to create it, which is not always possible, especially for weak cores.
CPLD has a built-in Flash ROM (User Flash Memory block, UFM), which can be used as a character ROM. However, its capacity is very limited—only 8 kbit, or 1 KB. This amount of storage is only sufficient for characters with a resolution of 5×7 pixels, and only if we discard non-displayable, insignificant, and visually identical characters from the ASCII table. In addition, the use of UFM will require the use of logic gates (LE), of which there are already a few. Despite the attractiveness of this option, I had to abandon it and use an external ROM chip, which can be salvaged from an old motherboard. Choosing a microchip with a supply voltage of 3.3 V will eliminate problems with matching voltage levels for the CPLD. The capacity of such ROMs is quite large: 2, 4, or 8 Mbit, or at least 256 to 1024 KB, which allows one to store a large number of different fonts with a decent resolution of 8x16 pixels.
Tumblr media
To store the screen image, you will also need a RAM chip. Let's estimate the approximate size required for this. If we plan on using an 8×16 pixel font on a screen with a resolution of 640×480 pixels, we will end up with 80 characters per line and 30 lines on the screen. Thus, saving the screen image will require 80 × 30 = 2400 bytes. This number is somewhat inconvenient because it is just slightly larger than the nearest power of two, 2048. The memory use in this case is inefficient—only 58%, since the next power of two is 4096. By the way, this is exactly why text mode with 80×25 symbols became popular since there are 5 fewer lines on the screen. In this case, only 2000 bytes of memory are needed, which easily fits into 2 KB.
However, modern memory chips have significant storage sizes, and saving memory is not so critical nowadays. Moreover, one can deliberately choose to waste memory in order to simplify the decryption logic and save CPLD logic elements. Then you will need at least 4096 bytes (2^12, 12 address bits), which can be divided as follows: 5 address bits are allocated to the row address on the screen (30 of 32 will be used) and 7 bits to the column or position address characters in the string (80 out of 128 will be used).
4096 bytes are required only for storing ASCII symbols. The same amount of memory will be taken by the symbol attribute page. Attributes must include character color (3 bits), background color (3 bits), underline, and blinking. So, a memory of at least 8 KB is required.
Of the most affordable options, the best one is static RAM (used as cache memory), also salvaged from old devices or motherboards. It should be noted that this memory can only operate at 5 V. However. If it is a CMOS-type memory, it can take 3.3 V, but this will require timing correction.
So, we got the following diagram:.
Tumblr media
The circuit includes only three microchips and a minimum number of external components. Using the aforementioned Altera EPM240 development board as a base, all you need are ROM chips, RAM chips, and a DSUB header with five resistors. Connecting signals to the CPLD is just an approximation, since almost all of its pins are equivalent (with the exception of Global CLK, one of which requires connecting a signal from a clock generator). When the chip is repeatedly reprogrammed for a new device, almost all of its signals can be reassigned. Currently, the device is assembled on a breadboard and can be left aside.
The device communicates with the microcontroller via a parallel 8-bit interface (in the diagram, signals with the HOST prefix), which is logically almost identical to the widely used display interface on the 1602 and similar controllers. The only difference is the addition of a BUSY signal directed from the device to the microcontroller. Its necessity is due to the fact that access to the RAM chip is provided only during the backward sweep period. The rest of the time, the chip is busy (pun intended) executing CPLD logic. The BUSY signal also acts like an interrupt request (IRQ) function. When it's changed, the controller can automatically start writing to the screen buffer.
Interface description:
DATA[7:0] – eight bits of data, unidirectional port, intended exclusively for writing to the device
CS – chip select; 0 for chip is selected, 1 for chip is not selected. On the positive edge of the CS signal, the data is latched for writing.
AD – address/data, during a write operation: 0 – data is being transferred; 1 – address is being transferred.
BUSY – device busy state; 0 – free; 1 – busy. If the device is busy, the write operation to RAM is ignored. Writing is only possible to the address register.
RESET – device reset. 0 – reset; 1 – work. A hard reset can be used to turn off the screen immediately. When this signal is activated, the image output to the monitor stops. Resetting does not affect the contents of the RAM chip.
Writing data from the microcontroller to RAM is possible only during the backward sweep of the frame scan, when the RAM chip is not occupied by the CPLD logic. This time interval is 1.440 milliseconds. Despite the significant duration of this interval, when using slow microcontrollers, there may not be enough time to completely rewrite the entire memory space. For example, an AVR microcontroller, when operating at a frequency of 11.0592 MHz, is capable of recording only three full-screen lines with all the attributes. If one does not update the attributes (as is usually the case in real-life applications, attributes are written once when the program starts), then six full rows can be written in this time. Perhaps optimizing the code and rewriting it in assembly language can significantly speed up the process of updating data. Otherwise, it may take from 5 cycles (if updating only the data) to 15 cycles (if updating the attributes) to completely rewrite the screen. At 60 fps, it will take 1/12 to 1/4 of a second. Those who have ever worked on IBM PC/XT or IBM PC/AT computers with processor clock speeds around 4 to 12 MHz may notice the experience of refreshing the screen to be familiar.
If you don’t want to wait for the next vertical pulse and want to record all the data at once, you can use the RESET signal. When activated, the internal logic of the CPLD stops and is disconnected from the RAM chip, allowing the microcontroller to directly access the memory. Registers for working with RAM are not affected by the reset signal.
In general, the write operations are as follows: you need to wait until the BUSY signal becomes zero, then put the desired data on the data bus, set the data type (address or data) AD, and set the CS signal first to 0, then to 1. When this signal changes from 0 to 1, the data is stored in memory. During a vertical pulse, the RAM chip is directly connected to the microcontroller's HOST signals, so maintaining the timings during writes becomes the responsibility of the microcontroller. However, since static RAM is a fairly fast device and typically has timings significantly smaller than the maximum speed of an average microcontroller driving its I/O lines, this task is not difficult.
The RAM chip D43256BGU-70LL is connected to the CPLD's output pins, with the lines having a 'RAM' prefix on the diagram. These signals include an 8-bit bidirectional data bus and a 13-bit address bus. Of the control signals, only the WE signal is used. Since there is only one chip on the RAM bus and both buses (address and data) are completely under its control, the OE and CS signals are not used, equal 0, and connected to GND.
The SST49LF002A ROM chip is connected similarly (signals with the 'ROM' prefix), except that the data bus in this case is unidirectional. The OE and WE signals of this IC are also not used and are directly connected to 0 (GND) and 1 (VCC), respectively.
Jumpers are connected to the available CPLD pins to select the current font. Since the ROM chip is large enough, it allows one to store several different fonts, including national alphabets, and switch to them by installing jumpers.
The DSUB VGA port is connected to the CPLD using only 5 resistors. Resistors in the HS and VS circuits are primarily for protection and can be ditched. Resistors in circuits R, G, and B are selected in such a way that, together with the input resistance of the monitor (75 Ohms), they form a voltage divider that reduces the voltage at the monitor input to 0.7 V.
The power leads are shunted with ceramic capacitors, and the clock signal with a frequency of 50 MHz from a crystal is supplied to the GCLK0 pin. These parts were on the breadboard originally.
A resistor, a capacitor, and a button are connected to the RESET signal, forming it. However, if the signal is generated by a microcontroller, these components are redundant.
After creating the main part of the CPLD operating logic, it became clear that the number of logic elements (LEs) used was slightly over half of the available ones. In this regard, the idea arose to complexify the logic and add more features. First of all, the number of colors can be increased to 16 by adding three additional CPLD pins and three resistors. This won't significantly complicate the scheme, but it will add eight more colors. In this case, the RAM page with attributes will have to be completely devoted to color, and another page with attributes will have to be added, increasing the RAM address bus by 1 bit. In the second page of attributes, you can implement font selection, underlining, character and background flickering, and so on.
The new scheme looks similar to the previous one.
Tumblr media
As the number of colors increases, the question is: which palette to choose? With only 8 colors, there is no such question; all colors are different combinations of the three primary colors: red, green, and blue (2^3 = 8). When there are more colors, different options are possible. For example, the 16-color EGA palette: https://moddingwiki.shikadi.net/wiki/EGA_Palette:
Tumblr media
As can be seen from the presented palette, the 4th bit in the color number stands for brightness. However, the halves of the table are not evenly separated by brightness. The first half is set to 2/3 brightness (byte AAH = 170 = 2/3 × 256). In the second half, another 1/3 of brightness is added (byte 55H = 85 = 1/3 × 256), and the colors in this part are called "bright."
Interestingly, color No. 6 (yellow/brown) in this scheme deviates from the expected AAAA00 and is specifically set to AA5500. This was done to replace the unattractive, dirty yellow color with the more appealing brown. This is a known feature of EGA video cards and monitors. Some monitors took this into account, while others did not implement this feature in order to simplify the circuit. Some models added a BROWN ADJ knob so that the user could set the desired shade of that color. That is why the color in the table is indicated as yellow/brown.
Nonlinear separation by brightness level automatically leads to two shades of gray showing up: light gray and dark gray, which are widely used.
In the 16-color VGA palette: https://lospec.com/palette-list/microsoft-vga, the situation is slightly different: the colors are divided exactly in two halves by brightness (80H = 128 = 1/2 × 256):
Tumblr media
There is also a noticeable outlier in this palette: light gray (С0С0С0), which should be black, duplicating an existing color. Additionally, this color swapped places with the dark gray color (808080). This was done intentionally to ensure compatibility between the VGA and EGA 16-color palettes, making them almost identical.
In our case, when the R, G, and B signals are generated in hardware using resistors, it is more convenient to use the EGA palette. So, it is necessary to make a software correction only for one color, No. 6. All other colors are generated automatically. Switching to the VGA palette would require not only a program change but also an additional group of resistors to be added to create the light gray color (C0C0C0). The resistors should be picked so that one group provides a brightness level of 1/3, the second is 2/3, and together they provide full brightness. By simple calculations using Ohm's law, we get the following values: 390 Ohms and 750 Ohms.
The signal generation logic for a static image like the one with test color bars is quite simple. However, if it is necessary to generate a dynamic image, the task becomes more complicated. It is necessary to organize a logical interface with RAM and ROM. At the same time, data exchange should occur not just quickly but lightning-fast! Let's first evaluate whether the selected chips can keep up with operating like this.
So, the resolution is 640x480. Pixel output frequency is 25 MHz (the standard specifies 25.175 MHz, but rounding to 25 MHz is acceptable since VGA, like many other analog standards, allows a significant spread of parameters). The frame refresh rate is 60 Hz (actually 59.5 Hz), and the line refresh rate is 31.46875 kHz (actually 31.25 kHz). Thus, the output time of one pixel is 40 ns, and the output time of an 8-bit character is 320 ns. During this time, the ASCII code of the character (one byte), the color code (one byte), and the attributes (one byte) should be read from RAM, and then, using the ASCII code as an address, we should read the bit mask of the character from ROM. Only then will the CPLD logic have all the necessary information to begin imaging.
According to the technical description (datasheet), for the selected D43256BGU-70LL chip, a full read cycle takes 70 ns. Considering the use of the chip at reduced voltage, the read cycle takes longer—let's say, 100 ns. Thus, in 320 ns, we will have enough time to read three bytes from RAM: ASCII code, color code, and character attributes. Great. The situation with ROM is more complicated: the address is written to it in two steps—in rows and columns—and, according to the manual, the read cycle takes 270 ns. Not the highest speed, but within the required 320 ns, even with time to spare.
The problem is that we can't start issuing the ROM address until we know at least the ASCII code, which takes 100 ns. This sums up to 370 ns. What saves us is the fact that each RAM or ROM read cycle individually fits within the allowed interval, and we can simply spend two additional cycles reading data. To add these two loops during data preparation, it is necessary to shift the character display area, creating an additional blanking area 2 characters wide at the beginning of the line and reducing the same area at the end of the line by 2 characters. This is quite simple to do: we simply shift the horizontal blanking pulse by 640 ns (accordingly, the horizontal sync pulse also shifts). From the monitor's point of view, there is no difference.
To better understand when and what to write and read, it is handy to create a timing diagram. At the beginning, all the timings were in my head, but creating a paper diagram and giving it another look allowed me to significantly optimize read cycles and even reduce the number of registers used.
The cycle begins by setting the RAM address of the ASCII character byte on the bus. After 80 ns, the requested byte appears on the RAM data bus, which is instantly used to generate the byte read address from the character generator ROM. At the 100 ns mark, we set the address of the symbol attributes byte to the RAM address bus. At 140 ns (60 ns after setting the address), we latch the first part of the ROM address. After another 60 ns, we set the second part of the address on the ROM address bus. At this point, there should be a byte of data on the RAM data bus with character attributes, where 5 bits correspond to the font and are included in the second part of the ROM address. The remaining 3 bits of data are stored in temporary register 2. After another 60 ns, we latch the second part of the ROM address. Data will appear on the ROM data bus 120 ns after this event, already during the second cycle. To prevent loop intersections, we write this data to temporary register 1 at 80 ns. And finally, at 300 ns, all the prepared data is written to the working registers. The character bitmask from temporary register 1 is copied into the rom_reg register, and the stored attribute bits are applied to the color byte that has been read at that time.
Thus, by the end of the second loop, all the data will be ready for outputting the symbol.
Writing data from the microcontroller to RAM is carried out as follows. We wait until the BUSY signal becomes zero, after which we set the starting addresses in the registers where data will be written. Typically, this is address 0, corresponding to the start of the data page, but a random address can also be chosen if only a few bytes need to be changed. Then we record the data. After each byte is written, the address is automatically incremented. When the edge of the screen is reached (the 80th character in a line), the address of the character position in the line is automatically reset to zero, and the line address is incremented by 1. After the entire page of data is written, the address is automatically adjusted to the attribute page entries and then the color page entries. After writing all three pages, the address is also automatically reset, and the process begins again with writing to the data page. Thus, the start address is set only once, and then only data is written. This saves a few microseconds on address setting and simplifies the code when all data can be transferred in one cycle.
Data format for writing data (AD=0):
Tumblr media
The data page stores ASCII character codes.
Tumblr media
The attributes page stores symbol attributes. The lower two bits are responsible for the hardware-driven blinking of a character or background, and the third bit is for the underline. The upper 5 bits select the font. Accordingly, you can display characters from different fonts mixed in any combination. 5 digits for selecting the font allow one to store 32 different fonts, which can include any symbols of national alphabets as well as tiles for displaying an image.
Tumblr media
The color page contains the character color and the background color. Color can be anything from the 16-color palette.
There are three address registers. The choice of which particular one to write to is defined by the most significant bits of the data byte. If the most significant bit [7] is 0, then the position register in the row (column) is written. If it is 1, then the line number register (line) and RAM page number register (ASCII code, attributes, or color) are written. If the three most significant bits are equal to 1, then a special control register is written, bits [4] and [3] of which determine the position of the hardware-generated line when the underscore bit is turned on, and bits [2–0] are reserved for future settings.
Data format for writing address (AD = 1):
Tumblr media
A register stores the position in a string.
Tumblr media
The register stores the line number and page selection.
Tumblr media
If you set an address outside the range of 0-79 for a column and 0-29 for a row, then data will begin to be written to the shadow memory area, which is not displayed on the screen. There is nothing wrong with this; after passing the address 127, the data will again be written to the visible area.
Internal CPLD registers (some):
Tumblr media
The register contains the current horizontal scan position. It is clocked at a frequency of 50 MHz, which is two times the required 25 MHz, so the least significant bit (tact bit) is not used. Accordingly, bits 1 to 3 indicate the position within the character, and bits 4 to 10 indicate the position of the character in the string. When the value reaches 1600, the register is reset to zero, and the value in the vreg register is increased by 1.
The register contains the current vertical scan position. Clocked from the hreg register. Bits 0 to 3 indicate the line within the character, and bits 4 to 8 indicate the line on the screen. Bit 9 is not used. When the value reaches 525, the register is reset to zero.
The registers contain the current address value for accessing RAM (16 KB in total). The lower 7 bits are the character address in the line (column), then 5 bits are the line address, and 2 bits are the page address (ASCII code, attributes, or color). There are two of these registers: one for internal use by the CPLD logic, and the second is controlled externally by the microcontroller.
The ROM address register is written in two stages. It contains the character string address, the character's ASCII code, and the font address. These addresses are located in such a way that one can flash standard DOS *.fnt font files into the ROM without any additional processing, just one after another. You can combine several fonts into one file for firmware using any file editing program. Just make sure that the fonts have a resolution of 8x16.
Tumblr media
Color output register. This register is connected directly to the CPLD pins, supplying the R, G, and B signals to the monitor. The lower 3 bits provide a signal with 2/3 of a brightness level (they must be connected to 390 Ohm resistors); the highest ones provide a signal with a brightness level of 1/3 (they must be connected to 750 Ohm resistors).
Photos to illustrate:
Tumblr media Tumblr media Tumblr media Tumblr media
0 notes
digimarketingvic · 9 months
Text
Bytes to Business: Unleashing Digital Marketing Power
Welcome readers to the blog post, where we will dive deep into the world of digital marketing Melbourne and explore its immense potential for businesses. In today's fast-paced and technology-driven world, digital marketing has become an essential tool for companies to connect with their target audience, build brand awareness, and drive sales. So, grab a cup of coffee and get ready to unleash the power of digital marketing.
I. Understanding Digital Marketing
A. Definition and Scope
Digital marketing is the use of digital channels and technologies to promote products, services, and brands. Unlike traditional marketing methods, digital marketing utilizes various components such as search engine optimization (SEO), social media marketing, content marketing, email marketing, and more.
B. Key Benefits of Digital Marketing
Digital marketing offers numerous advantages over traditional advertising methods. Firstly, it allows businesses to reach a global audience without geographical limitations. With just a few clicks, you can connect with potential customers from around the world.
Secondly, digital marketing is incredibly cost-effective compared to traditional advertising. Small businesses can now compete with larger ones by utilizing affordable digital marketing in Melbourne strategies.
Tumblr media
II. Building a Solid Digital Marketing Strategy
A. Identifying Target Audience
One of the foundational steps in creating a successful digital marketing Melbourne strategy is identifying your target audience. By defining your target demographics and creating buyer personas, you can tailor your marketing efforts to address their specific needs and preferences.
B. Setting Clear Goals and Objectives
Setting clear goals and objectives is crucial for any digital marketing strategy. By setting SMART goals (specific, measurable, achievable, relevant, and time-bound), you can keep your marketing efforts focused and measurable. Some common goals include increasing brand awareness, generating leads, driving sales, and enhancing customer engagement.
C. Choosing the Right Platforms and Channels
In the vast landscape of digital marketing, it's important to choose the right platforms and channels to reach your target audience effectively. Popular digital marketing channels include social media platforms like Facebook and Instagram, search engines like Google, email marketing tools, and more.
III. Content Creation and Optimization
A. Creating Engaging Content
Content is the backbone of any digital marketing Melbourne strategy. To engage your target audience, create high-quality, informative, and entertaining content that resonates with them. Use storytelling techniques to captivate their attention and incorporate visuals like images and videos to enhance engagement.
B. Search Engine Optimization (SEO)
Search engine optimization (SEO) is the process of optimizing your website and content to rank higher on search engine result pages, driving organic traffic. Understanding the basics of SEO is essential to ensure your content is discoverable by your target audience.
C. Content Distribution and Promotion
Creating great content alone is not enough; you need to promote it effectively across various channels. Leverage social media platforms, email marketing, guest blogging, influencer partnerships, and other strategies to distribute your content to a wider audience. Encourage your audience to share your content and engage with them on social media platforms to amplify its reach.
Final Thoughts
Digital marketing has revolutionized the way businesses connect with their audience, build brand awareness, and drive sales. By understanding the scope of digital marketing, building a solid strategy, creating engaging content, optimizing for search engines, and continuously measuring and improving your efforts, you can unleash the power of digital marketing Melbourne for your business. So, go ahead and embrace the digital world and watch your business thrive.
0 notes
commodorez · 2 years
Text
Tumblr media
Space Shuttle, 1996 by my dad - Video Byte II capture on the C64
65 notes · View notes
tittapages · 2 years
Text
Tiff decompressor for word
Tumblr media
TIFF DECOMPRESSOR FOR WORD PC
TIFF DECOMPRESSOR FOR WORD PC
As PC technology has grown the original uses for the extension have become less important and have largely disappeared from the PC world.Įarly versions of the doc file format contained mostly formatted text, however development of the format has allowed doc files to contain a wide variety of embedded objects such as charts and tables from other applications as well as media such as videos, images, sounds and diagrams. It was in the 1990s that Microsoft chose the doc extension for their proprietary Microsoft Word processing formats. Almost everyone would have used the doc file format, whenever you write a letter, do some work or generally write on your PC you will use the doc file format. Historically, it was used for documentation in plain-text format, particularly of programs or computer hardware, on a wide range of operating systems. More information about what a TIFF file isĭoc (an abbreviation of document) is a file extension for word processing documents it is associated mainly with Microsoft and their Microsoft Word application.Each TIFF file begins with an image file header which then points to an image file directory which contains the image data and image information. if it is MM, then you have Motorola byte ordering and likewise if it is II it means you have Intel byte ordering. The byte order is either Motorola or Intel depending on the first word. It is a popular format for high-colour-depth images and it has also been adapted to accommodate greyscale images.Ī TIFF file is made up of many different blocks which define the palette data or the LZW-compressed body among other things. It was created due to the popularity of scanners and was thought-up to become the standard scanned image file format. Tiff was originally created by a company called Aldus, and is now owned by Adobe systems, it is a file format for storing images, including line art and photographs.
Tumblr media
0 notes
managergreys · 2 years
Text
Download command and conquer red alert 2
Tumblr media
DOWNLOAD COMMAND AND CONQUER RED ALERT 2 32 BIT
RA2 Desert to TS Template switcher for FA2.exe (by FS-21) - RA2 Desert to TS Template switcher MOLauncher.exe (by Mentalmeisters) - Mental Omega Launcher MOControl.dll (by Mentalmeisters) - Mental Omega Launcher Library Gamemo.exe - Main executable for Mental Omega Game.exe (by Westwood Studios) - Command & Conquer : Red Alert 2 (Main executable for Red Alert 2)
DOWNLOAD COMMAND AND CONQUER RED ALERT 2 32 BIT
Gamemd.exe (by Westwood Studios) - Command & Conquer : Yuri's Revenge (Main executable for Yuri's Revenge)īINKW32.DLL (by RAD Game Tools) - Bink (Bink Video)Ĭbnacw32.dll (by MARX Data Security GmbH) - CBN/CBV 32 bit Wrapper DLL (CRYPTO-BOX 560/Versa Windows 32 bit AC DLL) Wsock32.dll (by Understorm) - Understorm TS/RA2 UDP Patch GDFBinary_en_US.dll - Command and Conquer Red Alert II (Game Definition File resources) While about 55% of users of Command & Conquer Red Alert 2 and Yuri’s Revenge come from the United States, it is also popular in Germany and United Kingdom. Relative to the overall usage of users who have this installed on their PCs, most are running Windows 10 and Windows 7 (SP1). The installed file MOUpdater.exe is the auto-update component of the program which is designed to check for software updates and notify and apply them when new versions are discovered. The setup package generally installs about 33 files and is usually about 1.92 MB (2,008,170 bytes). The primary executable is named ra2launcher.exe. The software is designed to connect to the Internet and adds a Windows Firewall exception in order to do so without being interfered with. A scheduled task is added to Windows Task Scheduler in order to launch the program at various scheduled times (the schedule varies depending on the version). Command and ConquerTM Generals Zero HourĬommand & Conquer Red Alert 2 and Yuri’s Revenge is a software program developed by Electronic Arts.Command & Conquer Tiberian Sun and Firestorm.Command & Conquer Red Alert, Counterstrike and The Aftermath.Command & Conquer and The Covert Operations.Command & Conquer 3 Tiberium Wars and Kane's Wrath.Command & Conquer Red Alert 3 and Uprising.
Tumblr media
0 notes
nahasprofessor · 2 years
Text
Sd memory card reader and writer
Tumblr media
#SD MEMORY CARD READER AND WRITER INSTALL#
#SD MEMORY CARD READER AND WRITER SERIAL#
#SD MEMORY CARD READER AND WRITER DRIVER#
#SD MEMORY CARD READER AND WRITER FOR WINDOWS 10#
#SD MEMORY CARD READER AND WRITER PORTABLE#
Compact and portable, you can use this USB memory card reader/writer with a laptop, tablet, smartphone or desktop computer that has a USB-C or USB-A port. It's just too bad file copying thru USB is so painfully slow. This USB 3.0 memory card reader provides a fast, easy way to access and edit photos and videos on your SD and microSD cards, wherever you go. Voila! It shows up as a 4GB FAT32 volume. Hook up Nuvi to my notebook with USB cable. Then I inserted the SDHC card into my Nuvi. Oh well, my notebook card reader can't read high capacity cards. Slim External USB 2. Youll need to have a card reader attached to your computer, and youll need to have the SD card in the reader when you start POI Loader. .Speed 2 in 1 USB 3.0 Memory Card Reader Flash Adapter Micro SD SDXC. Clicking Yes gives me another message that says it can't be formatted. 12 years 'How do I save to a SD memory card from POI Loader Submitted by zadmi on Wed, - 10:13pm. When I click the drive, it says that it's not formatted and asks me if I want to format it. However, when I look at the volume properties, it shows up as RAW file type and the size is 0 bytes. Unitek SD Card Reader USB 3.0 3 Port Memory Card Reader Writer Compact Flash Card Adapter for CF/SD/TF Micro SD/Micro SDHC/MD/MMC/SDHC/SDXC UHS-I Card for Windows & Mac - Aluminum. Supports latest SD and Micro SD formats, including SDXC and SDHC. USB 3.0 data transfer speeds up to 5 Gbps for fast file sharing. Built-in USB-A male connector compatible with all USB-enabled devices. My notebook detects the card and automatically installs it. Connects an SD or Micro SD memory card to your computer, laptop, MacBook, Chromebook or Ultrabook’s USB 3.0 port. I inserted the card into my notebook flash memory reader slot. I just got a 4GB SanDisk SDHC from a friend. Some readers may not be able to read/write High capacity SD card (SDHC). As long as the SD mounts on the computer you can use it add, delete, or change files on the card. You can also click Action tab in Device Manager and click Scan for hardware changes to reinstall the SD card reader driver.Every SD reader I've used can also write.
#SD MEMORY CARD READER AND WRITER DRIVER#
Then you can restart your computer, and it will automatically download the SD card reader driver on your Windows 10 computer.
Next right-click on the SD card reader driver and select Uninstall device.
#SD MEMORY CARD READER AND WRITER SERIAL#
In Device Manager window, you can expand Universal Serial Bus controllers category.Press Windows + R, type devmgmt.msc, press Enter to open Device Manager in Windows 10.STAFF BestReviews Memory card reader prices Low-end memory card readers for 5 to 10 typically accommodate one card format and often plug directly into USB 2.0 ports.
#SD MEMORY CARD READER AND WRITER FOR WINDOWS 10#
Download SD card reader driver for Windows 10 in Device Manager Just like SSD drives, memory cards use solid state storage for rapid reading and writing of data. Windows 10 SD Card Reader Driver Download Guide Below is a detailed Windows 10 SD card reader driver download guide.
#SD MEMORY CARD READER AND WRITER PORTABLE#
One solution to fix this issue is to download and reinstall the SD card reader driver. Dual-Slot SD Card Reader/Writer - USB 3.0 with USB-C - SD 4.0, UHS II Product ID: 2SD4FCRU3C This portable USB 3.0 card reader gives you fast read and write access to two SD memory cards simultaneously, including SD (Secure Digital), SDHC (Secure Digital High Capacity) and SDXC (Secure Digital Extended Capacity) flash memory cards. Sometimes you may meet the error that the SD card reader is not detected by your computer and the SD card is not showing up in Windows 10. Amazons Choicefor sd card writer IOGEAR SD/MicroSD/MMC Card Reader/Writer, GFR204SD Green 4.5 out of 5 stars3,637 6.926. To recover data from SD card, manage or format SD card, MiniTool software offers easy free tools. This memory card reader should make it easy to view photos stored on an SD card with Lightning-compatible iPhones and iPads. Check price on Amazon 3 SD Card Reader, uni USB 3.0 to SD/Micro SD Card Adapter, Aluminum. Check price on Amazon 2 SmartQ C368 USB 3.0 SD Card Reader, Plug N Play, Apple and.
#SD MEMORY CARD READER AND WRITER INSTALL#
This post provides a Windows 10 SD card reader driver download and install guide to make your computer detect the SD card reader. High Speed Card Readers Preview Product 1 High Speed All-in-1 Memory Card Reader/Writer for SD/SDHC, Micro. If Windows 10 doesn’t recognize the SD card reader, it might be the SD card reader driver issue.
Tumblr media
1 note · View note
ltrodriguesgaming · 3 years
Video
youtube
Elex II  Announcement Trailer
I liked the first game, can't wait to see gameplay.
4 notes · View notes