Jump to content

yorgle

Members
  • Content Count

    596
  • Joined

  • Last visited

Posts posted by yorgle


  1. In order to justify the continued keeping of my collection of atari computers, I feel I should put at least one of them to work at my office. I have an index card file with about 10K of cards identifying files (the paper kind) that have been closed over the years. Each card contains a client name, a file number, a one or two word description of the type of file, and the date the file was closed. I would love to enter this information into a database using my Atari, but is this realistic given the large number of records that would be needed? Each record would only need 5-6 fields with no more than 30 characters per field. I have a copy of DataPerfect but no manual so I haven't been able to even figure out enough to try it. Any suggestions? Am I dreaming?


  2. You don't need a disk to test the keyboard. Power up without a cartridge inserted and once the Atari logo appears, press the help key. Then you can select the keyboard test to try out the keyboard. Almost certain you'll need to pull the keyboard apart to clean the contacts- they're nearly always corroded to the point where most or all of the keys won't work.\


  3. I can still remember my first "school" computer- a Commodore PET! Of course, that was 8th grade. In high school, we had the customary "lab" full of Apples. I can still remember feeling lucky to go home and play on my older brother's C64- it seemed light years ahead of the Apples we had at school. I also remember how mad our computer teacher got when my older brother would turn in his assignments written in 6502 assembly rather than BASIC. Instead of giving credit for learning assembly, the idiot gave him D's for all those assignments. Teachers like that should be fired on the spot.


  4. ^ requires that Javascript is enabled too (or you won't even see the upload field)

     

    Dang it...on and off, on and off...bleh ;)

     

    IIRC, the game is written in plain ol' Atari Basic. That's why it's so slow.

     

     

    EDIT: the Atr boots MyDos with no autorun...so you'll need to load the program "ADVNTRE2.BAS". When starting, the game will prompt you for the speed before displaying the game selection screen. The text file "ADVNTRE.TXT" is included for full documentation.

     

    Thanks, Nukey. That explains the mysterious prompt. I was typing in what I thought were level selections which is why it ran so slowly.


  5. I just found what appears to be a port of Warren Robinette's 2600 "Adventure" for 8bits. It apparently was written by someone named Anthony Ramos. I can get it to run on my 1200xl but it is extremely slow. Anyone else have any knowledge about this program?


  6. Purusing the net I've found a number of instances where a VCS or 2600 is referred to as an "Atari 1600." Try googling "Atari 1600" to see what I mean. Seems odd that so many people would make the same mistake. Is there some reason (unbeknownst to me) why the term "1600" would be associated with a VCS or 2600?


  7. How many scanlines?

    The shortest example would probably be something like 8-bit's Wizard Of Wor:

     

    ...XXX..
    ..X.X...
    ..XXX...
    .XXXXXX.
    .X.XX...
    ...XXX..
    ....XXX.
    ...XXXXX

     

    Thanks, Nukey. Height can be whatever it takes to get it to look right.

     

    It may be a bit late but I did one to see what I could do. He either looks like a wizard or someone sleep walking in their pajamas.

     

    Wow. I've been away from this forum for a while so I missed your reply-- looks great- if I end up using it, I'll be sure to give you credit. Thanks.


  8. 764 works in ML because I ran a similar routine using a joystick and it worked fine. I'll try the stepping idea. Maybe if I can see what values are getting sent to 764 I can find out where they are coming from. What I'm ultimately hoping to use this routine for is to create a touch tablet cursor controller (like the touchpad on a laptop) that can be run while writing basic programs.

     

    Sounds good. The stepping idea will allow you to see what's left in 1536 and what's going out! It's something simple. Just one thing on you whole code. I assume there is a routine for outputting nothing - i.e. there's no cursor movement?

     

    Well, now that you mention it, I left out the "no cursor movement" code because I assumed if nothing touched the tablet LDA 626 would automatically be zero. But that's not true- it's actually 228 when untouched. I'll tinker some more with it. Thanks.


  9. Hmmm... code looks fine to me. However, I am actually wondering about your use of the location 764. I know in BASIC poking this location will output the appropriate character, however, in ML you might experience a different effect.

     

    Location 764 (CH) is actually used with location 754 (CHI)... here's an extract from Master Memory Map.

     

    "CH is the middle guy between the keyboard and the keyboard handler. When a key is pressed, a keyboard value (yes, yet another kind of character value) gets put into CH. The keyboard handler then picks it up, puts it into CHI (754), and puts a 255 into CH to indicate that it got the value OK. There are a few exceptions to this. First of all, if we're in the middle of debouncing (see KEYDEL [753]. the key is ignored completely; it doesn't even make it to CH. If CTRL-1 is pressed, then SSFLAG (767) is updated, but CH is not affected. Finally, CH also gets changed by the key repeat process mentioned under SRTIMR at location 555. To repeat a key, the OS takes the value in KBCODE (53769) and stores it in CH."

     

    With BASIC command processing is a little different in behaviour as its not done a ML speed par-se. Take a look at the locations $F2BO and $F24A (Outchar and GetChar) if you are using the XL OS.

     

    I remember building a Keypad reader with E: output in the VBI and ran into a similar problem.

     

    -- Edit: Have you stepped this code and determined that the correct value actually is going into 764? i.e.

     

    1731 lda # 134 ; f3 left

    1733 bne 1737

    1735 lda # 135 ; f4 right

    1737 sta 764 ; poke764,keycode

    173A sta 1536 ; temp location that can be checked

    173D BRK

     

    764 works in ML because I ran a similar routine using a joystick and it worked fine. I'll try the stepping idea. Maybe if I can see what values are getting sent to 764 I can find out where they are coming from. What I'm ultimately hoping to use this routine for is to create a touch tablet cursor controller (like the touchpad on a laptop) that can be run while writing basic programs.


  10. Ok, I give up. Before I pull the rest of my hair out, can anyone here point me to an assembly source listing for a routine to read two paddles as x and y coordinates so I can get some ideas? Or perhaps, better yet, look at my code and tell me if I'm at all close to what I'm trying to do? All I need to do is read the values and branch to one of four locations depending on four conditions: a) if paddle(2)<100 then branch xxxx; b) if paddle(2)>150 then branch xxxx; c) if paddle(3)<114 then branch xxxx; and d) if paddle(3)>114 then branch xxxx. (Yes, I'm playing with a touch tablet here) Here's what I've been messing with so far:

    1683  lda 626 ; paddle2(x)
    1686  cmp # 100
    1688  bcc 1731 ; move left
    1690  cmp #150
    1692  bcs 1735 ; move right
    1694  lda 627 ; paddle3 (y)
    1697  cmp 114 ; center
    1699  bcs 1723 ; move up
    1701  cmp 114 ; center
    1703  bcc 1727 ; move down
    1705  bne 1683
    ...
    1723  lda # 142 ; f1 up
    1725  bne 1737
    1727  lda # 143 ; f2 down
    1729  bne 1737
    1731  lda # 134 ; f3 left
    1733  bne 1737
    1735  lda # 135 ; f4 right
    1737  sta 764 ; poke764,keycode
    ...
    

    Up, Down, and Left work as expected, but for some reason, whenever the program branches to 1735, garbage values get put into 764 (causing junk to appear on the screen).


  11. After disassembling a short joystick routine I'm confused as to something that perhaps someone here can explain. (The routine uses DATA statements to POKE opcodes and arguments into ML). In one part, 173,220 are poked into memory to read the joystick. In my dissassembly, the 173,220 disassembles to LDA 632. Why is 220 used in the DATA statement instead of 632? I'm coding on unmodded 1200xl.


  12. Like a fool, I began typing in a relatively long BASIC program but forgot to turn on my 1050 before booting up the 1200xl. Is there any way to save what I've got in so far or am I SOL?

    Are you calling yourself a fool for forgetting to turn on the 1050, or for typing in a large BASIC program? :P

     

    Both. I guess I'll just chalk this one up to typing practice... :(

×
×
  • Create New...