EricBall
-
Content Count
2,362 -
Joined
-
Last visited
Posts posted by EricBall
-
-
The bin can be obtained from http://www.atariage.com/software_page.html...areLabelID=2381
Just a note, toggling the undead locator on & off was in the original Skeleton too.
-
The best way to make your idea a reality is to code it yourself.
Really, it isn't that hard, you will need the following:
Atari 7800 Software Guide
Atari 7800 ROM signature key generator (a78sign)
DASM
MESS
time
-
The one disadvantage of a snipebot is you lose the element of control.
Sometimes multiple auctions for similar/same items come due at the same time. (Why do wholesalers create 10 auctions for the same item all ending within 10 minutes of each other?) If I manually snipe, I can find out whether I won or not and then snipe the next one if I lost.
If you think about it, bidding using a snipebot is the same as bidding during the auction. You are simply providing a maximum bid. eBay still determines the final price. The difference with a snipebot is your maximum bid is "hidden" which means the current price doesn't change. You also don't have an opportunity to change your maximum bid.
But the rules are still the same. Your maximum bid should represent the most you are willing to pay for the item.
Last night an auction I was watching was closing after midnight local time. So I placed my maximum bid and eBay informed me that the current price was now more than my maximum. Did I increase my bid? No, I had already bid my maximum. Did I curse and swear when I saw this morning that the price went no higher? No, I had already bid my maximum.
I also knew that there were two more auctions for the same item ending in the next few days, and probably more after that. Even CtCW and CCs appear on eBay more than once a century. One-of-a-kind items (even Ghosts in Jars) simply don't exist on eBay. Those kind of things sell on Sotheby's.

-
Just to wrap this topic up.
The general consensus on the Stella mailing list was it was okay (with most people) to use it also for 7800 programming topics, as long as this is indicated in the subject. (I recommend starting the subject with MARIA since the biglist search engine doesn't handle numerics.) The assumption is the volume will be low enough not to be a big problem. Plus it might encourage some of the existing 2600 homebrewers to give the 7800 a try.
On a personal note, I'm going to put my 7800 programming on hold until I get my Lode Runner style game done. I just don't have enough time to do both and I don't want to let Leprechaun sit partially completed while I play with the 7800.
-
You might be able to physically put it in, but since the 2600 cartridge bus is only address & data lines, there wouldn't be anywhere for the audio to go unless the cart also had a small amplifier and a jack for external speakers/headphones.
The 7800 cartridge bus has an audio in connection, which makes POKEY enhanced carts possible.
-
Several reasosns why it wont work: it needs 2 power currents (5V and 9/12V (depending on the model)) and its maximum clock frequency is 1Mhz. (Btw the model you mentioned is the most hardest to find...
)Whoops, missed the Vdd input and the CLK max. In that case you are correct.
But, any memory-mapped sound generator with TTL level analog output should be okay.
-
My question would be..... Can the expansion port ever be used for anything usefull? - or - Is it even connected to anything inside?Check out the 7800 schematics in the AtariAge archives. It looks like most of the signals are audio & video outputs with some input overrides. No data or address bus or other I/O lines.
-
Sure, stick a SID (6582) in a 7800 cart. I don't see any reason you couldn't.
-
Even though this isn't required, is it good programming practice to have it at the end of the kernel loop?Yes and no. It is a good idea to display black during the vertical blanking interval, but how you accomplish this depends on your kernel. It may be just as easy to clear the graphics registers or the color registers. Even if you use VBLANK to display black, you often need to clear the other registers so nothing is displayed at the top of the frame when you turn VBLANK off.
-
Just for clarity (since this is 2600 programming for newbies), the VBLANK register contains three flags, which have the following properties:
bit 1 causes the TIA to display black, irrespective of what the graphics and color registers are set to. This is typically used during the vertical blanking interval - the 70 NTSC or 84 PAL lines which are not part of the active display. There is no requirement to use it (instead of updating the graphics and/or color registers) and it can be used outside to the vertical blanking interval too.
bit 6 causes the TIA to latch the joystick buttons. When the player presses the button, bit 7 of INPT4 (left) or INPT5 (right) will go to 0 and stay 0 even if the button is released. When the latch is disabled bit 7 INPT4/5 will be 1 when the button is released, and 0 when the button is down.
bit 7 causes the TIA to reset the capacitors used by the paddles. To read the paddles, the game first sets this bit to 1 for a short period of time. It then sets it back to 0 and counts the number of lines until bit 7 of INPT0-3 changes to 1.
-
I agree John, there is a lack of verified info for the 7800 out there. Maybe we can come up with a revised version of the 7800 Software Guide and fix some of the errors.
Up to this point I've only played around with basic 160 mode, so I haven't had to deal with some of the quirks of the 320 modes yet. As for problems with MESS, I believe Dan Boris is the primary programmer, but I'm sure he would appreciate help instead of suggestions.
A MARIA mailing list sounds like an idea, but I don't think I'm up to being the moderator.
But, I would be interested in joining a development community. Maybe I could help bridge some gaps so others wouldn't fall where I have.
One benefit of a homebrew community is exactly that: sharing experience & knowledge.
-
Here are some links to 7800 programming resources:
http://atarihq.com/danb/a7800.shtml
Atari 7800 ROM signature key generator (a78sign)
Atari 7800 Software Guide
Source code for the NTSC BIOS, sprite demo & Robotron
V7800 emulator
http://www.whimsey.com/atari_docs
Atari 7800 Development Kit Documents
Atari 7800 Software Guide
http://home.arcor.de/estolberg
Atari 7800 ROM signature key generator (a78sign)
Atari 7800 Development Kit Documents
-
One of the grand challenges with many DOS games was figuring out what CONFIG.SYS and AUTOEXEC.BAT entries were required to get enough free RAM while still loading all of the sound and other drivers. This became even more challenging with later versions of DOS used more RAM themselves. When I was archiving all of my floppies to CDR, I tried to play a couple of games and had to give up because I couldn't remember all of the tricks I used to use. And I thought to myself "This used to be part of the fun?"
-
I would love to see a homebrew community for the 7800.
Now that I've done some playing around with the 7800, I think it has great potential. The MARIA GPU is fairly powerful, but relatively simple. And unlike the 2600, there is no need for tricky cycle counting. CPU and GPU time are still at a premium, so efficiency is more the rule.
Consider the capabilities of the MARIA GPU:
- palette of 25 colors out of 256 possible, most sprites use 3 colors (+transparent) but higher color sprite modes exist.
- up to 30 sprites per line (but everything is a sprite, including background & bullets)
- tile/character sprites (indirect addressing)
- variable sprite width
MESS provides decent (though not perfect) emulation; the crypto signature can now be added
For those people with some programming experience, 6502 assembly is a declarative language like Basic or Pascal or C, just with much simpler operations. Try to find some online references and tutorials (http://www.6502.org is a good place to start) and start learning.
-
Who here is interested in programming the 7800? (And has the time & drive to actually create something.)
-
Just as an example, the maze in Skeleton+ is drawn using playfield graphics. In Pitfall, the playfield is used to draw the trees and the lakes (and probably more). Once you start programming, you will look at games in a whole new way and wonder "how did they do that?". And you may even be able to figure it out.
-
Heaven: The source is in the ZIP file. Not much in the way of comments though.
Chad: Thanks, I had started to puzzle it out from the schematics. It's surprising the amount of random logic on the 7800.
-
Just my C$0.03
Although Andrew's code is an optimal way to clear all of zero page RAM & TIA registers, in my experience is it's not always necessary to clear all of the TIA registers & RAM. The code will often set the TIA registers to different values or set them at specific times. Variables (RAM) get initialized to non-zero values, or calculated as required.
-
Unfortunately, the timing list has "Indirect/2 byte 9 cycles" and "character map access 3 cycles". So the question was whether the indirect time included the character map access. Based on this demo and my cloud demo, I believe it does.
Now, does anyone have documentation on how INPTCTRL works? I guess I could look at the MESS source or the wiring schematics.
-
A test program confirmed Eckhard's memory, only the graphics data is affected by holey DMA, not the character map. (This is effect is also shown in the V7800 and MESS emulators.)
-
Okay, I've reworked the demo so it uses less cycles to display the digits. The digits can also be turned off by setting the P1 difficulty switch to A.
The one good thing about this is it has given me some hints about MARIA cycle counts. The following is a rough guide: 2 cycles / RAM byte, 3 cycles / ROM byte, approx 400 cycles available per line.
Unfortunately, this means my clouds demo will remain a demo since there is no time left to display any other sprites. Sigh.
-
So 2600's graphics may vary from ntsc, pal and secam.The three major differences between NTSC & PAL/SECAM are:
1. Frame rate (60fps vs 50fps). This impacts any calculations which are based on the number of frames, typically movement.
2. Number of lines per frame (262 vs 312), important since the game is responsible for triggering VSYNC.
3. Number of visible lines (192 vs 228), which can change all kinds of things like sprite sizes, size of the playing field, vertical motion rate, and more.
Some homebrew programmers use the TV switch to change between NTSC and PAL, while others create NTSC & PAL specific versions.
(SECAM is the same as PAL (50/312/228) except the TV switch is hardwired to B&W and there are only 8 colors.)
PS The 2600 has 160 pixels of horizontal resolution.
-
As mentioned the N64 had a much smaller library than the PSX, though it tended to have a lower percentage of garbage (though it did have some major stinkers). As mentioned anything by Nintendo, or Rare, tended to be at least well done. Things from the cross-platform guys (especially stuff which started on the PSX or PC) often was less impressive.
-
Just picked up a PSX at a garage sale (C$20, including a dual-shock controller), and now I'm wondering what games I should be picking up.
My tastes run to the exploration/adventure type games. FPS (and other ultra-violent games) are out to keep my wife happy. Kid friendly games as well for my under 3 year old son. (He loves Mario64, though I'm getting tired of playing it.)
And how much should I expect to pay for a used PSX game (not copies)? Any other words of advice?
Oh, any recommendations/cautions for memory cards?

A 7800 hack request
in Atari 7800 Hacks
Posted
The Atari 7800 Software Guide is the place to start. Just be aware that each line of the sprites are stored on a separate page, with the bottom on the lowest page. Sprites will typically be stored on even 4K segments. Most 7800 games use 160A mode, with each byte being four four color pixels. Most of the other graphics modes are very strange and may be difficult to modify.