Jump to content

nanochess

+AtariAge Subscriber
  • Posts

    6,871
  • Joined

  • Last visited

  • Days Won

    21

Posts posted by nanochess

  1. Spy Hunter was 32 kilobytes, released in 1984. And Intel just introduced the EPROM 27256 in 1983!

     

    Bank-switching was applied to Atari because it only could access 4K of ROM, and 8K memories appeared around 1980 (also probably the cause that the IBM PC BIOS was 8K). An Intel manual for 1981 shows only memory capacities upto 8K.

     

    Bank-switching couldn't save Colecovision at the time, because it was designed to support 32K of ROM directly without bank-switching. The problem was that memory was pretty expensive!

     

    I mean a game like Mecha-8 requires 128K of ROM, that is FOUR 32K EPROM memories. At the prices of the eighties, it would have been prohibitive.

     

    Coleco upped the RAM memory as it was going down in costs, but still tried to go with tape as it was the most inexpensive, but disk was entering fast to the market.  It was a perfect storm, all looked like perfectly good decisions, but things changed too fast.

     

  2. On 8/4/2023 at 12:57 PM, davyK said:

    Just bought 2 copies - one for me and one to give as a gift. Really nice job.

     

    5 hours ago, nadir said:

    Almost a year later since this was posted here, but I have finally ordered the book.  :)  Kept thinking about it and wanting it, but finally am able to spend the money!  Looking forward to it!

    Thanks for your support!

     

    I'm pretty glad people still sends me histories about their success learning Atari 2600 programming with my book.

     

    Thanks! I feel blessed 🙏🏻

    • Like 2
  3. 27 minutes ago, DZ-Jay said:

     

    Hmm ... Sorry if I'm being dumb, but I am a little confused.  :dunce:

     

    It looks like the CS_ADVANCE flag is being set by that PRINT statement, so it is doing something with it.  That's the part that confuses me -- I wasn't expecting it to work (adding + CS_ADVANCE), but it does.  Maybe you are explaining it to me and I am not understanding it ...

     

     

    No, it is not generated.

     

    Maybe you put it there with another statement.

     

    Here is a wall of code for your enjoyment: :grin:

     

    	;FILE test1.bas
    	;[1] 	CONST CS_ADVANCE = $2000
    	SRCFILE "test1.bas",1
    	;[2] 	CONST CS_RED = 1
    	SRCFILE "test1.bas",2
    	;[3] 
    	SRCFILE "test1.bas",3
    	;[4] 	PRINT AT 0 COLOR CS_RED, "\95" + CS_ADVANCE
    	SRCFILE "test1.bas",4
    	MVII #512,R0
    	MVO R0,_screen
    	MVII #1,R0
    	MVO R0,_color
    	MVI _screen,R4
    	MVII #760,R0
    	XOR _color,R0
    	MVO@ R0,R4
    	MVO R4,_screen
    	;[5] 
    	SRCFILE "test1.bas",5
    	;[6] 	PRINT "HELLO"
    	SRCFILE "test1.bas",6
    	MVI _screen,R4
    	MVII #320,R0
    	XOR _color,R0
    	MVO@ R0,R4
    	XORI #104,R0
    	MVO@ R0,R4
    	XORI #72,R0
    	MVO@ R0,R4
    	MVO@ R0,R4
    	XORI #24,R0
    	MVO@ R0,R4
    	MVO R4,_screen

     

  4. 28 minutes ago, DZ-Jay said:


    I get that, but it also evaluates the expression by adding the advance bit, which is the weird part.  I would expect that such invalid characters would be ignore, no?  If they are evaluated, then they are not invalid.

     

    Or perhaps I'm missing something?

     

        dZ.

     

    P.S. Thanks for responding! 👍🏻

    It doesn't evaluate the expression. Once it detects a lexical component "String" it parses the string, and calls a standard function to check for end of line.

     

    Any extra character on a line is flagged with a warning.

     

    This way the programmer can detect parts of code that aren't compiling in any way.

     

  5. 3 hours ago, fdr4prez said:

    as mentioned above, it was NEVER available as CIB

    Or more clearly, you bought the PCB cartridge board, put a case yourself, and get the box, label and manual from different people.

     

    Probably all these things are sold out since a while.

  6. 33 minutes ago, SoundGammon said:

    You mentioned that there could have been bad ram or something causing the bug. Could be. Back in 1979, on my 2600, Star Ship, I could NOT land on the moon playing the variation Lunar Lander. I brought my cart to the store and the guy put it into the display 2600 and it worked fine! Also, on Blackjack, I could always double-down and NOT bust! Sent the console to Atari and they sent me a new one!

    It would have been great to test Video Chess on your buggy Atari 2600.

     

  7. I've been going over the code for a while, and I cannot see anything resembling a bug.

     

    My hunch proved to be wrong, and so far it looks like the stack cannot overwrite important data. I even measured the depth of calls (JSR instructions).

     

    On the other side I determined the depth variable cannot exceed the limits of RAM.

     

    If there is a bug probably it is triggered by very special conditions, but without a screenshot of the bug it would be hard to find a clue.

     

    Anyway, I'll proceed to write the article based on what I've discovered in the Video Chess ROM.

     

    • Thanks 1
×
×
  • Create New...