Jump to content

EricBall

Members
  • Posts

    2,427
  • Joined

  • Last visited

Everything posted by EricBall

  1. While part of me would love to have the physical hardware, the rational part of me points out I have a CoCo sitting in a box in the basement which my parents went to great lengths to get for me. Emulators, while not perfect, are typically much more reliable than real hardware. (One of these days I'll buy an N64 which actually works to play my collection.) Plus, no matter how much I want to play old games I don't seem to have enough free time.
  2. EricBall

    Blast Off!

    The patent for the Voder shows it's done by passing a pitched buzz or white noise through a set of ten dynamically weighted band pass filters. Not the same as AUDC / AUDF / AUDV. However, it would be interesting to see whether AUDC / AUDF / AUDV could be used to generate phonemes.
  3. EricBall

    Blast Off!

    I tried the AUDC / AUDF route : http://atariage.com/forums/blog/7/entry-1897-are-you-ready-for-this-pt-2/and it kinda-sorta worked (not really) although it would be interesting to try to see whether pure voice (versus music) would sound any better.
  4. The 7800 GPU uses several data structures to generate graphics. The screen is first broken into zones which are 1-16 lines high. The graphics for each zone are generated based on a display list (which is very different from the A8 display list). The display list contains a series of entries which describe either a sprite or a series of characters (i.e. tiles). Each display list entry contains the following: 1. horizontal position of the leftmost pixel (-96 to 159) 2. 16 bit address of either a list of characters or the graphics data for the last row in the zone 3. 3 palette bits 4. number of bytes of graphics or characters 5. an optional bit to change the bits per pixel For indirect (character/tile) mode, the characters are used as the LSB of the address of one or two bytes of graphics data for the last row in the zone. So on the 7800 scrolling the background or a sprite horizontally is relatively easy - just update the horizontal position of the appropriate display list entries. Vertical scrolling backgrounds are trickier as you need to fiddle with the height of the first and last zone and the CHARBASE register for the last zone. For sprites, vertical motion means adding the sprite to multiple zones and updating the MSB of the address. (See https://sites.google.com/site/atari7800wiki/graphics-programming/vertical-motion)
  5. Yep, I'm with you on that one. I have Win10 on my work laptop and it's not bad - at least with the interface I use. In fact, I've grown to like the search for installed apps rather than hunting through the start menu. Upgrading also means you'll get a more powerful computer, which is probably quieter! It's also a good time to review your needs list and check out your options rather than just doing a like for like replacement. e.g. laptop vs desktop and Chromebooks are great if all you need is a browser.
  6. Turns out the guy doesn't want it enough to make an 8 hour journey. But maybe I'll see if I can at least find the time to make up a home stretch checklist for it.
  7. As my wife often reminds me, I have a habit of not finishing projects once I've started them. (Usually while pointing at one of them.) I have to say that I've gotten better at managing this habit (although not necessarily at finishing projects). I try not to start projects, or at least start spending money instead of just time, unless I have a relatively clear understanding of what it's going to take to finish the project (and why I'm bothering). But i still have quite a few projects hanging around, most with little hope of ever being finished. One of those is the Tempest MAME project which started in 2004 when I rescued a Tempest cabinet from the curb. It's actually far closer to completion than many of my projects, i.e. requires more time and effort than money to finish. But now there's a guy who might be interested in buying it. While my wife would probably be willing to give it away just to get it out of the (unfinished) basement, I'd probably want to get more than "Twenty-eight dollars and fifteen cents." (obscure song reference), I'm not sure how much it's actually worth (or worth to me). Hell, just the control panel is probably worth a couple hundred dollars on eBay (although I suspect that's 90+% of the value of the whole shebang). Real life ain't like American Pickers - more like those LetItGo commercials. But there ain't no way I'm going to haul it out of my basement and deliver it. You want it, you gotta come and take it - and bring your own crew and equipment.
  8. Some suggestions master[MAXSIZE], working[WORKSIZE]; // declare as global or use malloc so they use the heap rather than the stack Replace for (i = 0; (a = fgetc(fp)) != EOF; i++) master = a; with fread Or, make the code line based & use fgets rather than trying to load the entire file into memory at once. All of those hexcode comparisons are ugly. Better to use the actual characters so you don't make errors remembering ASCII codes. You should probably also look at the ctype.h functions. Looks like you're doing a tokenizer. Wouldn't hurt to see if you could use strtok rather than brute forcing it yourself. (Although strtok isn't the easiest function to understand & use.) I'd also use pointers rather than array indexes - more efficient code. That all being said - sometimes being told you can't do something is enough to motivate you to prove them wrong. And there's nothing wrong with brute force code to get you over the initial challenges. But learn the libraries and leverage those functions - you don't have to re-invent the wheel (why write your own quick sort routine when qsort exists), there's less risk of introducing your own bugs and they are typically faster because the library can be in native code.
  9. The 7800 GPU uses several data structures to generate graphics. The screen is first broken into zones which are 1-16 lines high. The graphics for each zone are generated based on a display list (which is very different from the A8 display list). The display list contains a series of entries which describe either a sprite or a series of characters (i.e. tiles). So, to generate your 40x24 character screen (NTSC) you need the following (assuming a static background): 1. 8x8 4 color character graphics, stored in 7800 order 2. A 960 byte character map in raster order (character is the LSB of the character graphics) 3. 24 display lists, each containing two 5 byte entries pointing to the left & right halves of the character map, followed by a 2 byte list terminator 4. 28 display list list entries - 4 for the vertical overscan (13 lines each), 24 for each of the 8 line high zones The graphics can be in ROM, the rest needs to be in RAM (either copied from ROM or generated programatically). The real difficulty comes with the sprites. You first need to determine which zone(s) to add the display list entry to. Then you add the entry to the end of the display list(s), adjusting the MSB of the sprite graphics for any vertical offset.
  10. Null-modem - a serial cable with the transmit & receive wires crossed. I think I used this: http://www.pcxt-micro.com/dos-interlink.html
  11. Yeah. Before I junked my last 5 1/4 equipped tower PC I went through my stash of floppies and copied them to an external hard drive. Butt that was easy in comparison to recovering the files from a proprietary format backup CD. In that case I lucked out 'cause I still had the original software, the parallel port CD burner, and an old laptop which could support both. I also managed to do some backups using a laplink null-modem cable with a PC to PC copy program.
  12. Black is easy - the absence of light energy coming from an object. Of course, black might just be very little light energy, or the colors the object reflects aren't those being generated by the local light sources, or the colors aren't those which can be detected by the observer. White is much more difficult. For humans it's when the signals generated by the three adjacent "RGB" cones are high and relatively equal. Then our brains say "that's white". Black is primarily a function of light energy, white is primarily a function of the observer.
  13. I few years ago I went through my stash of (legal) PC software (games), seeing what would still run. Stuff which ran on DOS was basically no problem, and I'm sure a bit of fiddling with DOSBox would handle any exceptions. Anything which needed Windows 3.1 was a write-off, mostly because of stuff like Win-G and obsolete video codecs. Windows 9x software had a better chance of working, although some still had "wrong version" install issues.
  14. I know what you mean. But at the same time, sometimes playing a game stops being fun. So while I want to complete the game, I don't want to keep playing the game. However, I do remember completing several N64 games like Super Mario 64 (100%), both Zeldas, both Banjos and Diddy Kong Racing.
  15. Yeah, that was the game which got me to thinking about making my own - mostly because I wanted to experiment with a different play and goal mechanics.
  16. Looks like Swift 2.3 is now "deprecated", so I will need to upgrade the code to Swift 3 to submit it to the app store. (Assuming I manage to shake my funk and get enthusiastic about it again.)
  17. It appears manufacturers are still making 3-D Blu-Ray players, although who knows for how much longer. Although it does make me wonder whether the lack of new 3D TVs will have a "trickle back" impact on the sales of 3D Blu-Ray discs, and from there on 3D films. The HDR standards increase both the dynamic range and the color gamut which, in theory, will make the resulting video more realistic (ignoring the differences between RGB and full spectrum).
  18. I agree with both of you on all points. IMHO 4K is only good when you sit really close to a really big TV - and when the signal isn't severely compressed. (Although 4K+ does make more sense on the production side.) And not only would I have to replace my perfectly good HDTV for 4K, but I'd need to replace my home theater amplifier (plus a source of 4K content). HDR is a nice bullet point on the box, but I doubt it will make many inroads beyond the console crowd.
  19. https://entertainment.slashdot.org/story/17/01/19/2218238/3d-tv-is-dead I don't dispute that 3D TV never took off, what I find interesting is the TV manufacturers decided to drop a feature - no matter how unused. What's interesting is 3D is still popular enough to make 3D films. (Although my preference is for 2D editions I saw Rogue One in 3D because there wasn't a non-3D showing on a big screen.) Personally my 55" LG TV is passive 3D capable - so the glasses don't require batteries. I've used it to watch 3D Blu-Rays (e.g. TRON Legacy), but in most cases it doesn't add anything to the movie. But at least I have the capability.
  20. Poor Nintendo, their idea for a home video game console which can also be used as a portable video game console became a portable console with removable controllers which can be plugged into the TV. From my perspective, Nintendo has two overwhelming challenges when creating a new console: 1. Not understanding their historical successes. 2. Competition First, I don't think anyone at Nintendo understands the reason the Wii succeeded was because it was often purchased as a fitness accessory. People got suckered into thinking Wii Sports (and later Wii Fit) would provide some kind of health benefit. As per https://en.wikipedia.org/wiki/List_of_best-selling_Wii_video_games four of the top ten games (five if you include Wii Sports, which was a pack-in outside of Japan and South Korea) are movement games. And the number of copies sold drops of pretty quickly - only 1 in 8 Wii owners bought Super Mario Galaxy - the 8th top selling title. Success of the DS line has more to do with continued dominance of the GameBoy line and lack of significant competition than anything inherent to the design. IMHO success of a console depends upon the following: 1. There has to be a reason for someone to buy the console in the first place - i.e. a must-have system exclusive game. 2. Once people have purchased the console, there has to be a library of games they want to buy. 3. There has to be enough people owning the console and buying games for publishers and developers to justify spending money to make games for the console. When a console is successful, #3 drives enough games for more people to buy the console and buy new games, forming a positive feedback loop. Not enough "system sellers" or a large enough library and there's no reason for people to buy the console in the first place. Similarly, if not enough people own the console or owners aren't buying new games then publishers and developers aren't going to risk the money to develop more games. So in order to start that positive feedback loop, a console either needs an overwhelming must-have game (e.g. Wii Sports) or a deep launch lineup. (Having more titles in the pipeline also helps maintain the initial surge.) The DS succeeded partially because it could play GBA games (which could play GameBoy games). So people could justify buying a DS (or 3DS) because it had a huge library of games when it was introduced. But even with a decent launch lineup the Switch would need to overcome challenge #2 - competition. And the Switch is facing more competition than almost any prior Nintendo console because it has competition on two fronts, which I'll term "high fidelity" and "low fidelity". The High Fidelity competition are the other home consoles - Xbox One / PS4 and gaming PCs. This is where a lot of traditional AAA games land. However, Nintendo hasn't competed in this space in years, other than a few ports of multi-platform games. So it isn't like Nintendo can call up Tim Willits at id Software and get him excited about creating an exclusive title for them based on prior success. And while there was some suggestion the Switch would be on par with the XB1/PS4, this clearly isn't the case. So there's really no hope for Nintendo to win this battle unless it can get enough people to buy the Switch on it's merits as a portable - which is where the Low Fidelity competition comes in. The Low Fidelity competition is with smartphones, tablets, and browser-based gaming. These competitors didn't exist when the NDS came out and they have three main advantages over a traditional portable console: 1. Platform independence - it doesn't matter whether you have a Samsung Galaxy tables, an HTC phone, or an iOS device - you can play a giant library of games on it and what games isn't dependent upon the device you have. 2. Everyone has one - people don't buy smartphones, tablets and computers just to play games - they have other purposes which means people can justify the cost of the device. Then once they have the device they have access to the library of games. 3. Low cost games - Even without the "free to play" model, even the purchased premium titles are priced below all but the cheapest bargain bin games for traditional consoles. And the "free to play" model lowers the barrier to entry even farther. This competition is really hard to overcome as it puts a lot of economic pressure on the consumer and makes it hard to justify investing in the Switch - paying $200-300 for the console to be able to play the few top quality exclusive games at $50 a pop. So what's the alternative? I think Nintendo needs to focus on making great games, not on making unique hardware. They can bring that kid & family friendly gameplay to other platforms. Start with the XB1 and PS4 instead of trying to figure out the "free to play" model. Focus on great gameplay, although I'm sure the development teams will be overjoyed not to be constrained by underpowered hardware. Another possibility is to become a publisher. Use some of that war chest to fund development teams and bring their games to market.
  21. BBSs were also big for file sharing, especially in the 90s. I played around on BBSs quite a bit. In the 80s the BBSs were mostly single user. While you were connected other callers got busy signals. Mostly text based message boards - lowest common denominator as this was the time of 8 bit home computers. In the 90s I remember big multi-user BBSs. Lots of phone numbers to handle the different modem flavors. The BBSs were often interconnected with others (e.g. FidoNet). Some had lots of files with new ones evry day - this was the time of shareware and the PC dominated (although I'm sure there were Amiga and ST specific BBSs). There were also the big guys - CompuServe, Genie, Delphi, AOL.
  22. Yeah, I imagine any VoIP based phoneline (e.g. MagicJack) would trash modem audio. Modems were designed for analog copper connections and the the simple codecs used by old channel based telcos. The 56K modems actually required a digital connection from the BBS to the digital to analog converter at the caller's end.
  23. No video yet, but I have put up the instruction guide (with screenshots) at http://slidetiltroll.walkerville123.ca/
  24. The lack of interest in creating levels for Slide Tilt Roll has put a serious black cloud over my plans to release it. Seeking some inspiration, I started watching the But after watching the first two I started to think - what was my first game? Yes, I created Skeleton / Skeleton+, but I'm talking about before that - 'way before that. I know I did a few games for the Color Computer back in the 80s - I distinctly remember a simple racing game. (Probably done in Basic - it used text mode graphics for easy scrolling.) But before that I was programming on the Apple ][ series. I remember doing a simple hi-res graphics editor (in Applesoft Basic). But I can't think of creating any games. (Played lots, of course...) I suspect it's because I didn't have an A2 at home (the CoCo was my first real home computer) - I only got to use the school A2s at lunch time. So while I had Applesoft Basic memorized, I just didn't have the time to experiment. (I created the graphic editor to clean up game screen captures.)
  25. If the cat is meowing, it's trying to tell you something (literally - feral cats seldom meow, even two house cats don't meow to each other). I'd say give him a good once over to see if there's anything which seems to hurt. Also make sure the cat is drinking and urinating - that's a common issue with older cats (especially toms).
×
×
  • Create New...