Jump to content

Rybags's Photo


Member Since 29 Sep 2005
OFFLINE Last Active Today, 3:59 PM

#3589852 Is the POKEY chip so much better than the TIA?

Posted by Rybags on Wed Sep 7, 2016 4:48 PM

Both chips allow "forced volume" which is another way of saying sample playback.


It generally takes lots of processing because not only do you have to put an amplitude value in the volume register every scanline or two but you programmatically have to deduce each sample's value, either by calculation or lookup from stored samples.

Pitfall II has the advantage of the chip on the cart which does those other things which cuts out over 90% of the work otherwise required.  All the CPU needs to do is read the output register and store the sampled value.

#3589498 Programmatically switching off BASIC

Posted by Rybags on Wed Sep 7, 2016 8:32 AM

Yep. No need really for the clc and cld though. It's real annoying to have a program fail because you didn't disable Basic so always a pro touch to disable it this way. There's also the Ram based flag at $3F8 that's a good idea to set nonzero as well so it carries over the behaviour on warmstart.

#3589495 Excel Magazine PDF Download

Posted by Rybags on Wed Sep 7, 2016 8:27 AM

Good idea. I don't really bother with physical magazines any more, so would consider it. Maybe a free preview would be good too, eg title page, contents and part of an article or something.

#3589076 Good paddle controller?

Posted by Rybags on Tue Sep 6, 2016 5:31 PM

They're totally different input types, paddle is a single resistance value which is converted to an 8-bit number by A-D method.

Spinner/driving controller is gray code generator, usually a 2 bit value which infinitely rolls through 4 possible values, only one bit changing each time which so long as it's not moving too fast and is sampled reasonably frequently allows position and direction to be determined.


About the only software that will work with both is emulators like Mame but even then, using paddles on a PC isn't common.  And anyone "purist" will use real old computers rather than emulation and the 2 types of controller aren't easily interchangable.


An infinitely moving paddle type could be done either with help from a PIC or similar or by some pretty complex wiring but even then paddle games just don't expect the value to suddenly wrap from maximum back to minimum.   The game would just assume you've moved it back so e.g. in Breakout the bat would just suddenly jump from full right to full left.

#3586356 Booting from Cartridge

Posted by Rybags on Fri Sep 2, 2016 11:32 PM

Only the 400/800 OS does the Init/Run dependant on the $9FFC flag but it's still worthwhile to ensure that byte is nonzero on bigger carts.

The hardware topography is same on later machines of course with the RD4/5 and S4/5 for detect/select purposes as per left cart.

#3585745 Video Overscan Showing on LCD Monitor?

Posted by Rybags on Fri Sep 2, 2016 8:09 AM

The old Atari800Win+ shows 336 hires pixels.  I'm not sure on the exact figure but slightly more than that should avoid unwanted scroll artifacts on the left and the unwanted noise on the right and the colour change jaggie on the right.


Altirra emulator showing full display comes in handy, you could just screenshot scenarios you want to investigate with 99% assuredness it'd match what a TV would do, then work out what level of trimming you want.

#3585610 Video Overscan Showing on LCD Monitor?

Posted by Rybags on Fri Sep 2, 2016 3:47 AM

With such a device if built into the computer it'd be nice to be able to selectively enable it.

#3584677 Images generated by RastaConverter

Posted by Rybags on Wed Aug 31, 2016 9:52 PM

I chose this sunset image because the colour distribution lends very well to what the A8 is capable of.

A very short run, I doubt even hours of extra processing would improve much, though some playing around with the dithering method would probably help more.  Original + screenshot + executable...






Attached File  Sunset1.xex   18.76KB   54 downloads


#3584608 Video Overscan Showing on LCD Monitor?

Posted by Rybags on Wed Aug 31, 2016 7:51 PM

My old PCI capture card could display every pixel the Atari could generate except the first colour-clock on the left.  Most modern LCDs will chop off somewhat more than that though still show a good deal more than the old 4:3 CRTs.


The jagged colour change on the right is usually invisible though.  If following the classic programming advice of loading new colour into a register then hit WSYNC and immediately store the new colour value, that's the usual result.  We never complained about it with CRTs because we mostly never saw it.

#3584576 Images generated by RastaConverter

Posted by Rybags on Wed Aug 31, 2016 7:22 PM

I've got 2 early i7 era quad-core machines that I can devote to overnight processing.


My Xeon can run a bit hot though so I limited this run to 2 threads.  Not the ideal pic and I'm way out of practice with RC but here's about 9 hours and about 372 million iterations generates, original pic included (ah crap, pic not vertically centred, and the walkway is full of holes)






Attached File  Wharf1.xex   16.7KB   59 downloads



#3579921 Game Score routine Mac/65 assembler

Posted by Rybags on Fri Aug 26, 2016 12:34 AM

My preference with High Score is that it gets left alone until the game ends.

That way you can easily compare how you're going with the previous best.

#3576616 Ebay - 1090 Expansion System

Posted by Rybags on Sun Aug 21, 2016 4:33 PM

2600, CP/M and probably A2 addons would use the XL as a glorified keyboard to a large extent.


The museum article mentions "bus mastering".  I suspect they discovered it wasn't possible.   The PBI is a flawed design in multiple ways, probably the most prominent that the /HALT signal from Antic isn't available.  This was corrected with the ECI.

Without /HALT it's not easy to tell when the bus is available.  Even then, an external device would also need to be able to assert the line itself but in any case Antic has to get precedence.

#3576096 Display list question

Posted by Rybags on Sat Aug 20, 2016 9:47 PM

Sort of... generally you'd work backwards.  Fill the second 4K block with the 102 scanlines.  The first 4K with the remainder, so you don't end up with the spare memory at the end - in theory you could put the DList at the end but you'd still end up with about 300 bytes wasted.


Where you can run into problems is when your screen is over 8K.  That means there's 3 LMS needed and there will be a memory hole if you're using standard 40 byte width since 4,096 isn't an integer multiple of 40.

In cases like that you'd need to use tables to keep track of each scanline in memory although that's usual practice if you want to use fast plot/line routines.

#3576044 Display list question

Posted by Rybags on Sat Aug 20, 2016 7:51 PM

Normally you need the DList entry for each occurrence of the mode line.  Blank lines aren't needed at the bottom, the JVB can occur anywhere in the normal display area without extra needs.


1K boundary is the limitation of DLists, you can use jump command to get over but it's rare because it creates a usually not wanted blank scanline.


Graphics can't cross 4K boundary so to get over that you have to ensure the last line won't overlap the 4K boundary then use the LMS+mode just like the first line in order to set the address counter right.  Obviously it's an advantage for the previous line to end at exactly the last byte of the previous 4K so that memory use is contiguous which makes doing lines etc easier.


The case where you can get away with not repeating mode lines for a DList is if you have a mode set then disable DList DMA within a DLI usually.  It's rarely used and not really worth the trouble for the sake of saving a few bytes.  It's more a specialist thing for if you absolutely need the CPU cycles for a demo or picture or are doing some other tricky effect.

#3573318 REPAIRED ATARI 800XL memory test screen squares display

Posted by Rybags on Tue Aug 16, 2016 7:08 PM

That's all it takes.  Each chip supplies 1 bit for every byte possible to access.


Problem is the stock memory test isn't very useful.  A decent memory test if it knows your Ram configuration should be able to suggest which chip/s are faulty.