-
Content Count
2,433 -
Joined
-
Last visited
-
Days Won
2
Posts posted by cd-w
-
-
Excellent - I wasn't sure this would ever see the light of day. I've got a long plane ride coming up and now have my entertainment planned out.
You should ask Al to post this up on the front page?
Chris
-
It makes sense, altough I thought that those kind of differences were caused by different TIA revisions, while in my tests the same TIA that shows the bug in the sixer works fine in the vader and viceversa, so it's something else on the board that causes the shift. The TIA in the 7800 is soldered so I didn't tried swapping that one... yet!
I suspect some minor difference in the clock between the two consoles. The code requires the TIA and 6507 to be synchronized, and any drift could cause the effects your are seeing. That said, it is strange that the original 32text demo works fine, suggesting that the timings are not too far out ...
Chris
-
I suspect the Jr is one of the late TIA89 models that doesn't support the early HMOVE trick used to display the text. There is no way to display the text on these consoles, but they are relatively rare so it is not an issue for most people. Is the console a PAL or NTSC model - I think TIA89 was more common on PAL? A screenshot would help us identify if this is the problem.
Tightly fitting carts are a known problem on the 7800 - the build quality of the later ones was very poor. However, in your case it sounds like the tabs to open the dust flaps have snapped off?
Chris
-
Didn't YOU code this?

I did, but can't remember the details now
. I should take a look at the code again ...Chris
-
2
-
-
What I did not get into it is how you can start the scanline black, then background color and then again black till the end of the scanline.
First I thought you set the background black, then color, then black, but thats not the case.
It is possible to do this by switching VBLANK on and off at the edges?
Chris
-
1
-
-
-
Sure thing! Give me a few days so I can review what I was doing, write up some notes about it, and migrate my Stella BUS driver from 4.6.1 to the current version of Stella so we have something to compare against.
Thanks Darrell - looking forward to it.
Chris
-
I've worked on a spec for a new BUS bankswitching format. I've implemented it in Stella, but haven't looked at it since last September so don't recall where I left off. I've been feeling the urge to work on it again, though it'll be after my home issues are taken care of.
Once I'm done somebody else will need to implement it for the Harmony/Melody as I'm not familiar with ARM assembly.
Darrell - Can you send me the BUS bank-switching spec that you have produced - I'm interested in coding it up for the Harmony/Melody?
Why no C/C++?
Maybe I should eventually learn ARM Assembler.
Thomas - The bank-switching/bus-stuffing code is timing critical so it is better to code it up in ARM assembly. You should definitely learn ARM assembler - it is very friendly for coding directly by hand. The 16-bit THUMB instruction set is quite close to 6502 and will take you about a day to learn. The 32-bit ARM instruction set is great for short fragments of high performing code as you can do a lot with each instruction. The new Cortex THUMB2 instruction set combines the best aspects of THUMB/ARM but isn't applicable to the Harmony/Melody (which is an ARM7TDMI chip).
A very quick tour of ARM assembly written by a friend of mine can be found here:
http://www.davespace.co.uk/arm/introduction-to-arm/
The best references for ARM programming are the official ARM manuals and Gameboy Advance programming resources:
ARM/THUMB quick reference: http://infocenter.arm.com/help/topic/com.arm.doc.qrc0001l/QRC0001_UAL.pdf
ARM7 Manual: https://ece.uwaterloo.ca/~ece222/ARM/ARM7-TDMI-manual-pt3.pdf
GBATEK ARM CPU guide: http://problemkaputt.de/gbatek.htm#armcpureference
ARM Whirlwind tour: http://www.coranac.com/tonc/text/asm.htm
Chris
-
2
-
-
That looks like emacs on a WYSE terminal! I used a similar setup back in the early 90s. I miss the distraction free experience, but the lack of graphics was a pain sometimes.
Chris
-
Great presentation - pity it was so poorly attended!
The lack of TIA music is an issue for us games programmers also. I really hope your tool will encourage more chip musicians to consider the 2600.
Have you considered updating the audio registers more than once per frame? This could be a good approach for combining instrument and percussion sounds. The siren in star castle arcade is updated 4 times per frame. More frequent updates would also allow rudimentary samples to be played like the NES DMC channel. Though this would not work well with 4K demos!
Chris
-
1
-
-
Cab you add me to the list also - thanks!
-
1
-
-
-
Yes - look in vcs.h
-
The # is evaluated at compile (assembly) time so it cannot read the value of a memory address - all it does is take the literal value of the symbol.
Chris
-
Yup, effectively 128 pixel, "hires" buffered graphics on an Atari 2600.

Maybe you will implement Elite fully now

Chris
-
Indeed it is quite an accomplishment. This is truly inspiring.
Have you thought about trying to extend it to the full 160 pixel width? My experiments with bus-stuffing in stella seem to indicate that it's possible, but perhaps this technique can accomplish it with only DCP+.
Looking forward to the line drawing demo. Thanks for sharing!
Thanks - the 128 pixel kernel has only 2 cycles spare, so there is not enough space to extend to 160 pixels in this version. However, the ball sprite takes us quite a few cycles, so if that could be eliminated it would free up some space. Even so, I'm not sure how to generate a RESPx start signal on the left edge of the screen without leaving a gap ...
Chris
-
Very cool !!!
( This is PAL60. There seems to be another small glitch. I think I've seen this before while doing interlace experiments. There may be something wrong with the vsync/vblank/overscan timing, but it likely will only show on PAL systems. )
What kind of glitch are you seeing on PAL - is the screen rolling or is it the weird coloring at the top of the screen?
Chris
-
Questions:
Did CD-W do this with or without DPC+? It just says without bus stuffing.
I know Spice did his with DPC+. Does DPC+ let you update NUSIZ0 early enough so as not to need the Ball as a masking object?
Would Bus Stuffing let you update NUSIZ0 early enough?
Is a blank scan line still required between rows?
My kernel requires DPC+ also - it is very similar to the previous approach, I just reorganised things a bit to avoid the vertical gaps.
Bus stuffing should allow the ball to be removed, and the lines to be individually coloured.
The blank line between rows is artificial - there is no need for any horizontal or vertical gaps.
Chris
-
It should be possible, but there are very few people with the necessary skills and time.
Here is a funky tron logo (designed by Nathan Strum) while you wait.
Chris-
3
-
-
Try a different TV - it looks like it is having problems with the technique used to display the menu.
Chris
-
Ah - it is probably an MMC card rather than an SD card. There was a bug in the MMC protocol that is fixed in the upcoming bios 0.6. I'm looking forward to seeing your projects!
Chris
-
I'm glad to hear that you got it working. Some SD cards don't stick fully to the spec. What make and size was the card?
I hope tthis means you are returning to Atari 2600 programming?!
Chris
-
Yes - the harmony cart will work on a PAL 2600jr.
Chris
-
It sounds possibly like a problem with the edge connector on the Harmony cart. Has the edge connector got scratched or dirty from the floppy cable? I'd try carefully cleaning the edge connector and cartridge port on the Atari. Also the circuit board in the Harmony cart can become unseated - make sure that it is straight and making good contact with the Atari cartridge port.
Chris

Bus Stuffing Demos
in Atari 2600 Programming
Posted
Why does interlace suck? On a CRT screen the flicker is hardly noticeable. Many Atari games use flicker, and a constant 30hz interlace looks far better than 15hz flicker.
I agree that it looks poor on an LCD TV, but that is because the image is not handled properly by the TV.
Chris