Jump to content

x16tial

Members
  • Posts

    148
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by x16tial

  1. I thought s/he was talking about pronouncing it with the G like in rouge (not rogue). Sort of like "zheef", sounds very euro-french, I think it's my new preferred way.
  2. Looks like there's a MiSTer core, among other clones of the Next. Most if not all being FPGA based, so those are also options. And since the Next itself is FPGA, what's "real hardware" in this instance anyway? Either way, you've sparked my interest in this, the Z80 (and CP/M) never coalesced into something firmly on the radar, so to speak. But its relationship to and influence on PC's that were to come is compelling.
  3. Just curious, do you have or plan to get the actual hardware? Looks like the Kickstarter was a resounding success for the 2nd release, so much so, makes me wonder if any will actually be for sale.
  4. Anything by Zachtronics is excellent. How could you leave out TIS-100, which they actually say is "the assembly language programming game you never asked for!"
  5. Garage is a good case study actually, it has both pronunciations of G in it.
  6. so.. it stands for Jraphics Interchange Format? >:) (I say, as long as you know what the person is talking about, and communication happened, pronunciation doesn't matter one bit)
  7. If you don't enter any BASIC lines (with a line number) or any immediate statements that use any kind of variables, you technically can use anywhere from $0400 to $9eff. Of course be sure to save your ML program first, if you're ever in doubt. But, if you do want to create an ML program that can be loaded and run as if it were a BASIC program, below are the bytes you need. Saving is a different matter, you'll need to save from $0801 to wherever your ML ends. If you use BASIC's SAVE command, it would just save the stub and leave your ML code behind. Here are those bytes: 0801: 0b 08 01 00 9e 32 30 36 31 00 00 00 080d: (where your program starts) What are these bytes doing? They're "grouped" like this: (0b 08) (01 00) (9e) (32 30 36 31) (00) (00 00) 0b 08 is the link to the next BASIC line at $080b. This actually points to the 2nd set of 00's at the end of the line above, they are the link to the *next* BASIC line, and since they are 0, BASIC knows this is the end of the program (end of the stub). 01 00 is the line number, you can change these to whatever you like. ff 00 would be line 255. 00 01 would be line 256 etc. (little-endian) 9e is the BASIC token for SYS 32 30 36 31 are the hex ASCII codes for 2061 which is decimal for $080d (the rightmost digits happen to be the decimal digits) 00 is the BASIC end of line marker 00 00 as already mentioned is the null link marking the end of the BASIC program Thus the BASIC stub will SYS2061 your program that begins immediately following the three 00's, at $080d
  8. When I was in high school, installed a second SID chip for stereo SID tunes on my C64 (like soldering the 2nd chip right on top of the first, with a few pins bent out and the components for a small circuit kind of just soldered together close by, was a bit kludgy, but it worked, no pcb needed . And the standard 8/9 drive number switch on my 1541.
  9. No problem, glad to help Often times a second set of eyes will catch something like this where yours will just skim over it. Been plenty of times I've been pulling my hair out only to discover it's some small dumb thing.
  10. what's the JSR $fd22 in the getin routine? And, are there more lines after the "and #$0f"? because I see no RTS If I'm reading "Compute!'s Mapping the Commodore 64" correctly, you're calling into the middle of the "VECTOR" kernal routine that goes from $fd1a to $fd2f (okay not the *middle*, but still...) *edit just reread your post, and you say it jams at $fd24... so yeah, that's two bytes after $fd22. gonna assume $fd22 is a typo for $ffd2
  11. As an early to mid-teenager, I did the best I could at purchasing software. I had a paper route and bought most of my computing hardware/software myself (except the odd birthday or Christmas). But I also shamelessly copied software too, but I can't say I'm "ashamed" of it. In the day where you could blow $30, $40, $50 on software that sucked, and not be able to return opened software to the store, and there weren't really "demo" versions or even Shareware at that point. I'm sorry, I don't really feel bad at all about it; that could be all the money I made in a month or more. I picked and chose what I spent my money on and I copied the rest. I don't consider it taking any money out of the pockets of the creators because 1) I wouldn't have purchased it in the first place. and 2) I never resold any copied software.
  12. Are you using all 255 banks of RAM? Data can be copied into and out of VERA memory.
  13. Finally, a reason to buy a PS5
  14. At the risk of derailing your actual question, where is VLOAD documented? In the manual it just says "TODO", but there is this section soon after that: https://github.com/commanderx16/x16-docs/blob/master/Commander X16 Programmer's Reference Guide.md#load-into-vram Which uses the regular LOAD command and it supposedly uses the first two bytes to determine where to put it, don't know if it works. But VLOAD as you describe is much more useful. And thank you for showing the syntax, just wondering if it's documented anywhere.
  15. How do BASICs trig functions work? Tables of information might already be in ROM.
  16. Just caught this as well. If this is a large amount of data, this could help cause the memory problem too. BASIC is basically storing everything twice, once in the data statements, and then again in the arrays. (If you want efficiency, BASIC isn't the language )
  17. I guess it depends on how big the program is to begin with, you mentioned you're working with someone else's code, so I assume this routine is part of a larger program. If you're doing any kind of string concatenation inside the loop, that could be filling up memory. BASIC normally uses strings "in place", but "dynamic" strings fill BASIC memory from the top down, and if the program is very large to begin with (mid to high 30's kb), it's feasible you could be filling up available memory. To rule out the routine itself, you could code just what you're doing in the routine as a separate program and see if you have the same problem.
  18. x16tial

    x16Sokoban

    Fun and challenging! (couldn't quite give it 5 stars because of the lack of sound
  19. As far as I know, this isn't true. The VERA is pretty much all about wrapping/incrementing within its memory space. Yeah, top of RAM could work, but it's just a little weird, because the Tilebase has to be at 2k boundaries, so you'd have 448 bytes between 1F7FF and 1F9C0. Not a lot, but still.
  20. It's odd that the character tileset is at $0f800 to $0ffff, basically smack in the middle of VERA memory. (it's at the end of Bank 0... it makes a little sense, but not much) Better in my opinion to put it right after 80x60 screen memory, at $04000 to $047ff. Then you have a contiguous block from $04800 to $1f9bf (108k) So then the 320x240 (screen 128) mode (layer 0) should start at $04800 instead of $10000 (layer 1 text is still at $00000) After SCREEN 128:SCREEN 2, a POKE $9F29,33 will turn off the graphics layer (not much help I know, but for anyone who cares
  21. Just added "sortdemocolor2.prg" This one will pause at each "level" of the sort, kinda fun to see how the colors separate at each level. Will have to be downloaded to use it, as the "Try it now" button in the download dialog runs the original.
  22. entropy_get ($fecf) then I just use part of the routine in the example in the doc: JSR entropy_get STX tmp ; combine 24 bits EOR tmp ; using exclusive-or STY tmp ; to get a higher-quality EOR tmp ; 8 bit random value Then STA that value into mem The doc recommends that "this data should be fed into a pseudo-random number generator" but it seems to work well enough.
  23. Version 1.0.0

    42 downloads

    Variation of the quick sort demo, but this one using the 320x240x8bpp mode, which uses double the memory, and is that much cooler to watch Tap any key to progress from: Random Slowed down sort Random Full speed sort Back to Basic Note: that band of "non random" pixels below the middle of the screen is the default location of character tiles at $0f800 = $0ffff. This gets moved to right after screen memory at $04000 - $047ff (which is probably where it *should* default to, if you ask me :))
  24. quick sort color demo View File Variation of the quick sort demo, but this one using the 320x240x8bpp mode, which uses double the memory, and is that much cooler to watch Tap any key to progress from: Random Slowed down sort Random Full speed sort Back to Basic Note: that band of "non random" pixels below the middle of the screen is the default location of character tiles at $0f800 = $0ffff. This gets moved to right after screen memory at $04000 - $047ff (which is probably where it *should* default to, if you ask me :)) Submitter x16tial Submitted 03/13/21 Category Demos  
×
×
  • Create New...

Important Information

Please review our Terms of Use