Jump to content


  • Content Count

  • Joined

  • Last visited

Community Reputation

351 Excellent

1 Follower

About brain

  • Rank

Profile Information

  • Gender

Recent Profile Visitors

4,189 profile views
  1. petcat in the VICE bundle. Usage: petcat [-c | -nc] [-h | -nh] [-text | -<version> | -w<version>] [-skip <bytes>] [-l <hex>] [--] [file list] [-k[<version>]] -help Output this help screen here -v Same as above -c controls (interpret also control codes) <default if textmode> -nc no controls (suppress control codes in printout) <default if non-textmode> -ic interpret control codes case-insensitive -h write header <default if output is stdout> -nh no header <default if output is a file> -skip <n> Skip <n> bytes in the beginning of input file. Ignored on P00. -text Force text mode -<version> use keywords for <version> instead of the v7.0 ones -w<version> tokenize using keywords on specified Basic version. -k<version> list all keywords for the specified Basic version -k list all Basic versions available. -l Specify load address for program (in hex, no loading chars!). -o <name> Specify the output file name -f Force overwritten the output file The default depends on the BASIC version. Versions: 1 PET Basic V1.0 2 Basic v2.0 super Basic v2.0 with Super Expander (VIC) turtle Basic v2.0 with Turtle Basic by Craig Bruce (VIC) mighty Basic v2.0 with Mighty Basic by Craig Bruce (VIC) a Basic v2.0 with AtBasic (C64) simon Basic v2.0 with Simon's Basic extension (C64) speech Basic v2.0 with Speech Basic v2.7 (C64) F Basic v2.0 with Final Cartridge III (C64) ultra Basic v2.0 with Ultrabasic-64 (C64) graph Basic v2.0 with Graphics basic (C64) WSB Basic v2.0 with WS basic (C64) WSBF Basic v2.0 with WS basic final (C64) Pegasus Basic v2.0 with Pegasus basic 4.0 (C64) Xbasic Basic v2.0 with Xbasic (C64) Drago Basic v2.0 with Drago basic 2.2 (C64) REU Basic v2.0 with REU-basic (C64) Lightning Basic v2.0 with Basic Lightning (C64) magic Basic v2.0 with Magic Basic (C64) easy Basic v2.0 with Easy Basic (VIC20) blarg Basic v2.0 with Blarg (C64) Game Basic v2.0 with Game Basic (C64) 4 -w4e PET Basic v4.0 program (PET/C64) 3 Basic v3.5 program (C16) 4v Basic 2.0 with Basic 4.0 extensions (VIC20) 5 Basic 2.0 with Basic 5.0 extensions (VIC20) 70 Basic v7.0 program (C128) 71 Basic v7.1 program (C128) 10 Basic v10.0 program (C64DX) Usage examples: petcat -2 -o outputfile.txt -- inputfile.prg Convert inputfile.prg to a text file in outputfile.txt, using BASIC V2 only petcat -wsimon -o outputfile.prg -- inputfile.txt Convert inputfile.txt to a PRG file in outputfile.prg, using Simon's BASIC
  2. A real shift register is in the 1571/1581 drives. The C128 and those drives call its use "burst mode". FOr the 64, you can use the existing shift register in the 64 to enable the same thing: https://a1bert.kapsi.fi/Dev/burst/
  3. I do have a board designed, produced and sitting on the desk to be stuffed, but it didn't look like demand was high, and I didn't want to poach stuff from your efforts. Jim
  4. No, I was talking about yours that you sell. Maybe I'm wrong and you're selling tons of them.
  5. Greg (ArcadeShopper) has them in his store: https://www.arcadeshopper.com/wp/store/#!/HEX-TI-r-HEXBUS-disk-drive-emulator-assembled-and-tested/p/219106097/category=27454942 Jim
  6. It's on my list, but time is short at present. Not sure how generally useful it will be as I think only a few have availed themselves of HEX-TI-r units, so demand appears to be low. jim
  7. I know the following examples are in C, but I believe they will translate to ASM quite well: https://github.com/go4retro/c-key/blob/master/src/poll64.c As others note, use a lookup table for the main scan codes. Many are a 1-1 mapping. The first thing to do in the code is watch for a scan code. Then, for a few compares. E0,E1,F0 and such are special modifiers. Handle them special, and use a state machine to keep things in order. Then, as you get to the main char code, reference into a lookup table. if the result coming back has a high bit clear or something, use as the exact key to send. If the high bit is set, assume the code is an indirect code location reference. strip off the high bit and jump to that code. That way, you can handle special cases. Most keys are of the form (I think scan set 2, but could be 3) <char> and $f0 <char>. Extended chars are $e0 <char> and $e0 $f0 <char> (I might have the $e0 and $f0 backwards, check the code). The only 2 that are truly bizarre are print screen and pause/break. printscreen tries to handle a key down/key up sequence all on the downpress, so it can be handled like the others if desired, but I did it special. Print/Screen is just bizarre and I handled it with the main state machine. You can choose the ignore the $e0 if you want, as the $e0 keys end up factoring back into their reguar versions if you strip it. (1 on keypad is extended version of 1 on main keyboard). Jim
  8. 24 x 21 bits is 3 bytes x 21 = 63 bytes. 24 x 24 would be 3 x 24 = 72 The first fits nicely into memory along binary boundaries (2,4,8,16,32,64). The second, not so much. Thus, the first allows the VIC-II to make a rule: sprite data must be aligned on a 64 byte boundary Then, the pointer for the sprite data doesn't need to store the lower 6 bits of the address, since it will always be 0.
  9. Anytime you can meet fellow enthusiasts face to face is a fun time! Jim
  10. I can't say for sure, but I think TI notated things that way on the 99/4a. FOr instance, the addresses are A0-A15, where A15 is the LSB. I'd expect the data lines to be the same
  11. This is a classic "crystal into oscillator" circuit. I could explain it, but others do much better than I https://learnabout-electronics.org/Digital/dig51.php https://electronics.stackexchange.com/questions/489785/2-pin-crystal-oscillator-crystal-oscillator-circuit-explanations You can use the same circuit for any device that needs a "clock" input, not a crystal input (BTW, ICs that use a crystal input just put the left hand circuit on the IC itself. The 2 inverters on the right "boost" the signal from the generator, which can't take a lot of load itself. ONly 1 is needed, in my opinion, becausing inverting the clock won't change anything, so turning it right side up is unneeded, but maybe they had an extra gate and it was easiest to just put it in play.
  12. brain

    RDY pin on 6502

    You can't stop the clock on most 6502s, as they CPU is not a static design (it will lose state if not clocked often enough). Thus, RDY exists. Jim
  13. It looks there is enough data there to recreate the mod, but I agree that the lack of attention suggests some issues. I'm working on a 4MHz design, but not using this idea. Not sure if it'll pan out though. Jim
  14. Hmm, flow control. OK. Well, good that it works for you. Jim
  15. Try leaving off the &C0 and seeing if that helps. Also, if you have a Serial line tester, those are always good to see the difference in signals from the two setups. Jim
  • Create New...