EricBall
Members-
Content Count
2,361 -
Joined
-
Last visited
Content Type
Profiles
Member Map
Forums
Blogs
Gallery
Calendar
Store
Everything posted by EricBall
-
Question about Maria and custom cartridge chips?
EricBall replied to willbilly's topic in Atari 7800 Programming
MARIA has two internal 800 bit Line RAM buffers. While one buffer is being written to, the other is being read to generate the display. So there's no way for a cartridge to change the Line RAM directly. Think of MARIA as a bus-master coprocessor. So at the start of the visible frame, if uses the display list list pointer to walk the display list list, getting the display list pointer for the zone and the number of lines. Each line it halts the 6502 CPU and walks the display list, reading graphics data from memory and writing it to an internal line RAM buffer. Once MARIA reaches the end of the display list, it releases the 6502 until the start of the next line. (Note: it's a little more complex, but this is the basic idea.) Where a cartridge based coprocessor could really help is building the display lists. Imagine something which would allow the 6502 program to use a NES style sprite table and a simple X,Y coordinate for the background which would then automagically provide MARIA with the appropriate DLL and display list entries. That would free up a huge amount of 6502 processor time. Update: I just remembered that MARIA wants the DLL and display list to be in RAM. So the game would need to copy the DLL and display lists from the cartridge to RAM every frame. This would cut into the CPU savings somewhat, but there would still be value. Regarding "Would that make 320B viable for a full background including sprites?" - the main limitation is DMA time, which can't be changed by the cartridge. You can do a full background in 160B/320B/320C, but it severely restricts the number of other sprites which are available. -
Tool for extracting sprite graphics from a 7800 rom
EricBall replied to NostAlgae37's topic in Atari 7800 Programming
See https://atariage.com/forums/topic/272112-sprite-data-to-color-mapping/for a list of how the data bits are mapped to palette entries if you're interested in creating or adapting an existing tool. -
I have an external drive (5TB in your pocket for US$120 - the mind boggles) to which I've ripped DVDs, including Game of Thrones. Now that my son is off to college, it might be easier for my wife and I to find the time to watch them. They play back fine on my wife's MacBook - but its USB ports died so we have to use a DisplayPort adapter, which then precludes connecting it to the big screen TV. However, the new router has a USB port and can share the drive over the network. However, it's still a minor annoyance to get it set up. But then I thought - I wonder if I could use the Raspberry Pi I got for the DIY microconsole. To make a long story short, the answer is yes. I did need to spend the $5 to get the MPEG-2 license key to unlock the hardware decoder. And for some reason the Pi and the TV don't like to be connected directly ("No Signal"), but I have gotten it working through the amplifier (which also gives me 5.1 audio).
-
Hmm... Timmy is a pointer to an array of constant unsigned chars, but Timmy isn't constant. I think what you need to do is declare const unsigned char const Timmy[] = { ... }; Then the second cast (unsigned short int)Timmy should work.
-
One efficient way to shuffle a deck of cards: for i = 1 to 52 j = random(52) + 1 c = deck deck = deck[j] deck[j] = c next i
-
Thinking about it, the real distinguishing feature of older computers and consoles was the GPU, not the CPU. While the CPU could make certain operations and calculations easier or harder, the GPU dramatically impacts what is possible. And the GPU on those older consoles and most computers was closely tied to the capabilities of a standard TV (along with what was economically viable anf technically possible for VLSI at the time.)
-
Via one of the guy's YouTube videos, I happened across http://www.the8bitguy.com/2576/what-is-my-dream-computer/ Now, not to rain on anyone's parade - but retro dream computers are just that, dreams. I've been playing with computers since the Apple ][+ days - so I've got plenty of nostalgia for retro computers. But guess what, when my parents gave me a TRS-80 Color Computer as a gift a few years ago, I wondered why they bothered. Sure, it's the computer I had in my teens and I've got a lot of great memories of it. And it's got a decent built-in BASIC. But there's no point. Emulation is good enough if I ever decide I want to spend time reliving those memories. The problem gets worse for a hypothetical dream computer as there is no existing software, and there just wouldn't be enough people interested in creating software for it. Sure you could spend time creating another Pac-Man or Super Mario Bros. clone. Or you could just load up an emulation of the original. Of course, it's fun to dream. Just don't expect them to come true.
-
Hmm... from a programmer's perspective, I wouldn't call it 6K of RAM. More like 6K of writable ROM. Yes, the cartridge contains 6K of RAM (organized as three 2K banks plus one 2K bank of ROM "BIOS"), but writing to the ROM wasn't a single instruction, but a multi-step operation. (Because the 2600 cartridge is missing the signals needed for normal RAM.) And there wasn't anything in the cartridge which inherently provided better graphics, but games could take advantage of the extra RAM to create displays not possible without it. (Like I did for my unfinished Lode Runner style game which used the extra RAM to store the level and the sprite data.)
-
Software companies - definitely. Although I wouldn't say lazier, but certainly more willing to release software before all of the bugs have been corrected. I think hardware still goes through a more thorough design & QA process because it can't be as easily fixed. But there's certainly hardware which is released with incomplete software (e.g. Stern Pinball).
-
X-Y Plotter Table For The TI 99/4A Computer - Final
EricBall commented on Vorticon's blog entry in Vorticon's Blog
You may want to look at 3-D printer designs, you may be able to adapt them. Check out RepRap HELIOS and some other of Nicholas Seward's designs for something more than XYZ boxes. Plotters were a must have for doing color charts until inkjet printers. I remember using both a flatbed plotter and a giant roller plotter. Nowdays I have a color laser printer. -
Avengers: Infinity War - Spoiler-free review
EricBall commented on Nathan Strum's blog entry in (Insert stupid Blog name here)
The three bits of advice I have for anyone thinking about seeing this movie: 1. Go see it now before someone can't help themselves and spoils any of the significant plot points / twists. 2. Make sure you're up to date on the characters in the Marvel Cinematic Universe. This is not an origins story. There's no flashbacks to previous films. This is the sequel to multiple MCU series and it assumes you know who each of these heroes are. 3. (As suggested by Howard Tayler) If you're planning on taking younger children, you might want to see it yourself first. There are reasons why audiences are not exuberantly cheering on their way out of the theater. And if you're sitting at the end of the row, feel free to hit the restroom rather than wait for the post credits scene. -
A couple more videos about using lasers to emulate vector displays: Custom code to duplicate Asteroids - points out that galvos are slower and how momentum makes corners round unless the code includes the proper de-acceleration On a commercial laser projector, which now includes homages to various vector games
-
320B Background with 160(A or B) Sprites?
EricBall replied to PacManPlus's topic in Atari 7800 Programming
Unfortunately it's not possible to mix 160 and 320 modes on a single line as that is controlled by the Read Mode bits in the CTRL register. You could change the CTRL register mid-screen using a Display List Interrupt to have different sections of the screen use different resolution. The difference is in how the palette bits are used. So with 320D if the sprite is palette = x01 then the sprite can use the second set of four pixel duos: BG+C1 / transparent, BG+C3, C2+C1, C2+C3. So while 320D looks like it has all of the combinations which 320B has, each 320D sprite is restricted to what colors it can use for each pixel. But I'm glad to see someone using my tables! -
Black Panther - Spoiler-free review
EricBall commented on Nathan Strum's blog entry in (Insert stupid Blog name here)
I also saw Black Panther recently (in prep for Infinity War) and I will agree with you on all parts (especially the magical miracle metal). However, I wonder what would have occurred if T'Challa had welcomed N'Jadaka with open arms and tried to apologize for his father's sins. I also wonder how Wakanda society functions - e.g. what do the people playing "third world" get? -
The recent update to PUBG Mobile fixed the iPhone 5s bug so I was able to give it a try on a 4" screen. While I wouldn't call it unplayable, the size of the screen really makes it difficult to play effectively both because: the size and spacing of the controls makes them difficult to use using the controls blocks the screen low 1136 x 640 resolution and small size makes it difficult to see anything - the mini-map in particular difficult to select weapons as they are close to the edge, which brings up the notification pull Because I can play PUBG on larger devices I've deleted it. It's also a space hog. ~1GB for the game and you need another 1GB of free space for updates.
-
my (100% free) iOS game is on the App Store!
EricBall replied to EricBall's topic in Homebrew Discussion
iOS only, sorry. For iOS I was able to use the free Apple tools and libraries (as I have an iMac). For Android I would need to deal with licensing one of the third party libraries. -
my (100% free) iOS game is on the App Store!
EricBall posted a blog entry in EricBall's Tech Projects
https://itunes.apple.com/us/app/slide-tilt-roll/id1366633420?mt=8 I took a day off so I could finally put on my "round-tuit" and get my iOS game into the App Store. 100% free to play. No in-app purchases. No subscriptions. No advertising. WiFi not required. 30 levels to complete (so far) Built-in level creator with the option to submit levels for inclusion in future updates. Requres iOS 9 or better, compatible with all devices -
https://itunes.apple.com/us/app/slide-tilt-roll/id1366633420?mt=8 I took a day off so I could finally put on my "round-tuit" and get my iOS game into the App Store. 100% free to play. No in-app purchases. No subscriptions. No advertising. WiFi not required. 30 levels to complete (so far) Built-in level creator with the option to submit levels for inclusion in future updates. Requres iOS 9 or better, compatible with all devices
-
Played another game on the Pixel 2 and finished 3rd with 6 kills! I got four of those kills camping out in a shipping container near a compound which staying inside the safe zone until late in the game. Eventually I needed to move, which I did badly and got killed for it. My biggest mistake is I moved too early, before the play area started contracting. This meant I could be (and was) attacked from the rear. I also didn't choose a particularly good position inside the safe zone. While I had decent visibility of the area where I thought one of my opponents would be coming from, I had very little cover from any direction. Playing on the smaller screen is definitely troublesome. In order not to block my view I find I am keeping my left (look / turn) hand near the left edge of the screen. But this has caused me on numerous occasions to accidentally hit the fire button, potentially alerting other players to my position. Often I don't realize I've fired, so I think I'm being fired upon. The smaller screen also means the "buttons" are smaller, which makes them more difficult to press in a panic situation. Being able to use a controller would definitely help with this problem.
-
I installed PUBG Mobile on my work Pixel 2. The smaller screen (5") means less visible space around my fingers. The higher resolution (1920x1080) and medium level graphics doesn't make much of a difference as the finer detail is so much smaller. But now I can get my PUBG fix during lunch, although I need to bring in some headphones. This game I coulda / woulda / shoulda won, but I could have lost just as easily. My early looting was quiet, but not very good as I only found a pair of shotguns and some basic armor. This game i tried to stay well ahead of the damage zone by moving towards the center of the new play zone early. I continued looting and upgraded to an AKM and a Vector and eventually scored a level 3 helmet (although I think I never found anything better than a level 1 vest). I also made one kill. My first almost death occurred because I tarried too long at one point, not realizing how far away the next safe zone was and how little time there was before the play area started reducing. I covered about half of the distance before the blue wall caught up with me, and I barely made it into the safe zone with minimal health - after starting with near full health. Fortunately I didn't have to continue running to the next safe zone so I was able to stop and heal up (although only half way). The safe zone straddled the river, with me on the south bank, near a bridge. I crawled to edge of the roadway, so if the safe zone moved to the other side of the river I could try to make a dash across. (Swimming might have been a better plan, but that would have pinned me to the riverbank and made it harder to move inland. But luck was with me and the safe zone collapsed onto my position and my side of the river. I hadn't been taking any fire, so I suspected the other players hadn't seen me. So I stuck to the prone position and waited them out. Eventually I had to move to get in the next safe zone, so I shifted over near s blockhouse, with the blue wall directly behind me. It was down to me and one other player. But then disaster - the WiFi flaked out (which had happened before) and the game controls locked up. I move my view, but not shoot. I started mashing "buttons" as my opponent started coming towards me. It would have been an easy kill. But nothing worked and I was put out of my mercy.
-
I've played a few more games, but none of them were better than a top ten (and one was much worse). Unfortunately, PUBG Mobile only shows the aggregate numbers, not the results of each game. So unless I'm prepared to write down or share the results, that detail is gone after I exist the game over screen. I have noticed the expertise of my opponents has increased (or at least fewer WTF moments) - so ranking is probably built into the matching system. My son and I had a discussion of the possibility of PUBG Mobile having bots. My assertion was PUBG would be unlikely to spend additional development time creating bots simply to give new players an ego boost. However, I then realized they might have needed to create bots as part of their testing process (so they wouldn't need hundreds of human testers). In that case the question becomes whether the cost to run the bots can be justified or if bots are necessary to fill out the noob matches. I need to spend some time looking at the various weapons so I can make better decisions for which I want to keep. I also wish I could tune the automatic pick-up. While there is some logic in not picking up items which you can't use (e.g. ammo or accessories for guns you aren't carrying) in the early game I want to grab everything because I don't know what I'll find later one. I also haven't had to not pick up stuff because I am out of space. Maybe I've been fortunate and found backpacks early. Learning the map better is also something I need to work on. While there is a time advantage to exiting early and diving straight down, I might find more loot and fewer people if I try to get farther away from the path of the plane. I've been watching Mobius's videos and he makes some good points about remembering the path of the plane and staying away from it even later in the game. I am also seeing the value in having a vehicle in the early game. I would love if there was some kind of practice mode so I could try out grenades outside of a match. Due to only having so much "free time" and because I'm having to borrow my son's tablet to play, I don't get to play that often.
-
Game #5 : 1 kill, 2nd place I've noticed you can't actually jump out of the plane until the plane is well inland, which makes the coastal sites more difficult to reach. This time I landed at the Plane Crash site and sprinted from there to the Shooting Range. While I was finding some good loot, it was more spread out. And before I found a gun someone else started shooting at me. I scrambled through the various targets on the range, using them for cover, then sprinted away. Not a good start. I checked the map on the run and found a nearby house, which hadn't been looted, so I finally got the weapons I was lacking. A couple of firefights happened outside the house, but no-one came inside. Eventually I had to leave to get to the safe zone, but as I was coming around the house I was attacked, so I took careful aim and killed them instead. Then it was back to sprinting. Better equipped but still running scared. I then spotted a UAZ (Jeep). Normally I don't bother with vehicles, but my recent experience with getting caught outside the safe zone made a vehicle sound like a better idea, especially since I was still a decent distance away from the safe zone. I then realized the safe zone was on the south side of the river and the nearest bridge was west, at the edge of the play area. So I hit the road and blazed for the bridge before the blue wall started moving again. Once across the bridge, I spotted a few buildings with closed doors inside the safe zone. So I parked the UAZ and headed inside. And there I camped. The house was inside the safe zone, although near the edge. I set myself up to try to cover the various entrances and waited, listening for footsteps, watching the map for each new safe zone, and listening to gunfire and seeing the player count go down. Each new safe zone still included my hideout, so I continued to camp. I'm sure other player would put down this tactic, but I'm here to win, which means survive, which means not getting shot at if I can avoid it. But just when the number of players dropped to two, the new (very small) safe zone didn't include the houses, so I needed to make my exit. So I opened the door and cautiously crab walked out to meet my opponent - completely missing the fact that I'd gotten turned around, so I was walking north straight into the damage zone instead of south towards the new safe zone. By the time I'd realized my mistake it was all over. I'm sure my opponent was as surprised by the bloodless win. The funny thing is I'd set a pin on a nearby set of buildings which were also inside the penultimate play area. So if I'd simply looked at the mini-map or the compass at the top of the screen I would have realized I was heading in the wrong direction. But I somehow thought the door was south, and didn't check before marching to my self inflicted doom.
-
Game #4 - 3 kills & 11th place Realized if I dropped a marker on the map the line would show me which side of the map the plane was entering from. This time I bailed out basically as early as I could (although it might be better to wait a second or too) and ended up at the Quarry, which gave me some good loot and my first kill. Again I wasn't in the safe zone, so had to run towards Pochinki, where I holed up in some buildings. There has been some talk that PUBG Mobile has bots, particularly at the lower levels. People say they don't act like real players. My suspicion is they are noobs, probably playing on devices with smaller screens. However, while I was holed up I had an encounter which makes me wonder. I was inside a small outbuilding (with the door closed) and I heard footsteps outside. The "player" made several passes then started walking back and forth in the area nearby. I eventually engaged and killed them, but my opponent's behaviour was definitely non-player like. An aggressive player would have tried to engage me by either charging the door or shooting through the windows. A passive player would have departed after realizing I was there. (Although I was inside the building, I suspect I could be seen through the windows - particularly in third person.) A noob probably would have stumbled in the door. Again, the new play zone wasn't near me so I had to make another run across open country. I stopped to loot a house, then got shot at as I tried to leave. This time my opponent charged the building and I killed them. A second shot rang out as I went to loot the body, so I left by the side door and started running. But I'd made a tactical error. I'd tarried too long at the house and so the damage barrier caught up to me around 600m from the safe zone. Fortunately I had a decent amount of health and reached the safe zone with a sliver of health left. However, the new safe zone was already on my map and there wasn't much time before the damage barrier started to move again. So I kept running. I figured once I reached the new safe zone I'd stop and heal up. I have to say my killer was good. I didn't even hear the shot before the game said I'd been killed. I would have liked to get another top ten, but I think I'm doing pretty well so far. The one lesson this game did show is the need to stay well ahead of the damage barrier - and let it kill anyone shooting at you as you run away.
-
Played a third game last night, and got to #3 again with 3 kills. The plane started out south of the map, flying over the western tip of Sosnovka Island. I jumped out and dove straight down to the buildings near the DN crossroads for some quick looting. This time I wasn't going to be able to camp in place as I was outside the safe zone. It probably wouldn't have been a good idea anyway - too many other players in the neighborhood. I killed one from a balcony, then sprinted for the hills. This game I spend a lot of time running away from gunfire. Sure I could have stopped and tried for another kill, but the name of the game is survival. Most players seem to have difficulty hitting a stationary target at medium range - a moving target at long range is just wasting ammo. So unless the attacker is between me and my destination, I'm going to ignore them and keep running. (Although I might change direction slightly so they have to lead their shots.) I eliminated another player as I made may way to the church overlooking Pochinki. Again, as the play area contracted I made for an air drop. Even if I couldn't get some good loot, it seems to land in the future safe zone. Another player seemed to have the same idea, but I spotted him and chalked up my third kill. Then I was in the final three, although not in a particularly good position. However, my opponents seem to have discovered an exploit as they were driving around in the damage area, seemingly without taking damage or dying. I died just outside the safe zone as I was crab walking to it ahead of the death wall. I'm not sure what killed me, whether it was the death wall, or one of the other players running me down or shooting me. Unfortunately PUBG Mobile doesn't provide a replay or spectating mode so I wasn't able to see how the match turned out.
-
Winner Winner Chicken Dinner!!! OMG I aced my second game of PUBG Mobile. The plane started in the NE corner of the map headed south, so I jumped out almost as soon as I could and headed for Stalber - and no-one else did so I was able to loot in peace. I picked up a helmet & armor and a couple of rifles. No scopes unfortunately, but a great start none the less. Then I lucked out again by being in the first safe zone. So I camped out in one of the guard towers and watched for anyone coming up the hill (unlikely, but possible) or sneaking up behind me (again, unlikely but possible). As each timer expired I checked the map and thanked my lucky stars that I was still in the safe zone. I strained my ears listening for footsteps and gunfire, but all I heard was my heartbeat thumping in my headphones (sounding like footsteps...). Eventually my luck ran out and I had to head downhill. I headed towards where I'd seen some air drops land and got into my first firefight. To my shock (they were hiding behind a bush) I made my first kill. But there was no time to waste, it was on to the safe zone. At this point there were less than 6 players left in the game. Unfortunately, there wasn't much cover other than a few trees. I made another kill after I reached the air drop crate (which didn't have much other than a medkit). Then I realized there were only 2 players left - me and someone else! The play areas were shrinking quickly. After exchanging shots with my adversary, I dashed for the next safe zone and put the death wall to my back and started watching downhill. It seemed like forever - the safe zone wasn't that big. Might the death zone make the final kill? Nope, sound to my left. I swung around and started laying down full-auto fire, trying to get my shots on target. And that was all it took - my first PUBG Mobile win.
