Jump to content


  • Posts

  • Joined

  • Last visited

  • Days Won


Everything posted by StephenHorn

  1. The system writes "Ready" because your program terminates and returns control to the kernal. The kernal, however, is not smart enough to realize that it needs to reset the VERA's settings, so it goes and behaves as if you never changed them. The only other thing I can think of is that it might be a case of case-sensitivity. I tested on Windows, where the filesystem's made up and the cases don't matter. Especially if you're on my favorite finicky hate-buddy of an operating system (), that would be my next suspect point. So try changing this: into this: If that doesn't work, try instead making everything consistently lower-case. Edit: The reason I'm not sure which way is the better way to go, case-wise, but am suggesting you start by switching your code to upper-case, is because we're also potentially talking about the difference between ASCII and PETSCII mapping. My work in ASM invokes the kernal load/save routines directly, and all my filename strings are always entirely upper-case while referring to files that are entirely in lower-case. You might need to follow suit, with upper-case #defines and lower-case filenames. But I'm not sure! The C interface may translate that on your behalf. Play.
  2. Your code works fine for me. My guess is you forgot to place PALBG1.BIN, TMBG1.BIN, and TSBG1.BIN in the working directory of your emulator, alongside your .prg. Edit: I've since noticed a //TODO in your code about layer 1 causing a black screen, but replacing the reference to FOREGROUND_TILE_BASE_ADDR with BACKGROUND_MAP_BASE_ADDR, as seemed to be the original intent, doesn't appear to change the result any. Nor would I expect it to, you're initializing all the tiles to index 0, and per one of your recent submit comments, tile 0 was changed to be entirely color index 0 (which will be transparent). So I think the code is fine, it really was just a case of missing files at runtime.
  3. Question: Are there any plans to have maintenance releases of the emulator to adopt bugfixes and optimizations? Totally unrelated to any pull requests I may have contributed to...
    Fun and complete! Very cool, so much good stuff! A must-try.
  4. You can't just substitute CHROUT for console_put_char. Per the documentation, under "Console": With this documentation in mind, consider the following modifications: ; screen_set_mode lda #$80 jsr $FF5F ; SET 320x200@256C MODE ; console_init ; All zeroes in r0 through r3 result in a full-screen console ;r0 stz $02 stz $03 ;r1 stz $04 stz $05 ;r2 stz $06 stz $07 ;r3 stz $08 stz $09 jsr $FEDB ; rest of the code ldx #0 again: lda hello, x cmp #0 beq done stx SaveX sec ; Adding carry to wrap at word boundaries jsr $FEDE ; console_put_char ;jsr $FFD2 ; CHROUT ldx SaveX inx jmp again done: rts SaveX: .byte 0 hello: .byte "hello world! ", $00
  5. Game jams are community events that typically give 24-48 hours to create a game with a certain theme or special rule. The games don't have to be big or complete, most entries in a typical game are little more than prototypes showing a single idea, maybe even on a single level. Obviously, the X16 can pose unique challenges due to its limited resources, but that would be part of the fun, yes?
  6. I thought I saw in commercials that they were replacing the bunnies with some other animal. A labor issue, maybe?
  7. I was born in the early 1980's, and my earliest memories are of playing Asteroids with an Atari 2600 joystick in my pudgy little toddler hands. I might've simply been born that way, the cable connecting the joystick was like a second umbilical that was never cut. My family's collection of games for the console featured every major critical success that ever came out for the console. You name it, if it was a critical success, we probably had it. Sometime in the mid-80s, we got an Atari 5200, but we only ever picked up a small handful of games for it, in large part because we broke the controllers almost immediately. Dad got real tired of fixing or replacing them, real quick. Interestingly, it wasn't the joysticks themselves that broke, like would happen on the 2600 sticks, it was the buttons on the sides of the 5200's controllers that seemed to be utter garbage in our household. 1987. The Nintendo Entertainment System arrives at our house, in the form of the Super Mario Bros./Duck Hunt combo pack. I was old enough to appreciate the recommended age of "6 years and up", which our family promptly ignored. Dad kept trying to get me to back away from the TV so I'd actually have to aim at the ducks with some finesse. It never took. So, yeah, I'll cop to the fact that I'm really more of a 90's kid, I "missed" the C64 era, and my interest in the X16 is partly to help fill that education and experience gap. But also, it turns out that programming 6502 assembly is quite a bit of fun. Who knew? 1990. My grade school hosts a small programming competition using the LCSI Apple Logo programming language (think "turtle cursor"). I took second place. Mom brings home a 2400bps modem and dumb terminal from work so she can work from home, but also pulls some strings to get me setup with 20KB of space on her company's mainframe, as well as access to their BASIC compiler and email system. She starts teaching me BASIC. Ironically, the teachers in the computer lab don't know much about computers, and I end up showing them a bunch of things about their Apple IIs and, later, Macintoshes. It's the teachers outside of the lab who end up having things to teach me, and introduce me to the world of BBSes. This... really, my school system was awesome, but this trend never ended and the non-computer staff were routinely more competent with computers than the dedicated computer staff. It was comical. Fast forward to 1994. Times had been tough, financially speaking. We finally get our first home PC, a Packard Bell 486-66MHz with the fancy-pants DX2 coprocessor. I am incredibly excited. It comes with a software front-end that is completely worthless, and I have it disabled within a day so that we have a "real" computer. Dad points out that QBASIC comes standard with DOS/Windows installs. At home, if I'm not playing video games, I'm poking around with QBASIC. At school, meanwhile, other shenanigans ensued. I entered high school. I was surprised to find out that, for the first time in my academic career, I actually choose what courses to sign up for. I front-load the mandatory things, and fill whatever missing slots I have with computer and electronics courses. My electronics teacher is so impressed with my notes that he wants to keep my notebook. My electronics teacher was awesome. One year, a student carelessly soldered a polarized capacitor into their project, reversed. Of course, you know what happened once he energized the circuit. I thought someone had set off a firecracker. My electronics teacher spins around on his heel, sees the smoke and confetti, and without missing a beat, yells "Cool! They're still making those things out of paper!" My school's fledgling IT department made so many token efforts to secure the school's PCs, and they were all comically easy to get around. Worse, because IT was setting up every last computer in an identical way, whether for students or teachers, my group of fellow "computer nerds" and I discover all manner of tools and software packages that simply have no business being on lab computers. They are, at best, resource hogs poaching memory and making the computers slow, and at worst they're security vulnerabilities. You know that scene in the movie Hackers where Dade Murphy enables a test of the school sprinkler system? Well, it wasn't quite that bad, but it was pretty bad, I totally get where that scene was coming from. Hackers always struck me as a surprisingly well-researched movie, but the way it leans so heavily into details and minutiae makes it amazingly dated. And let's be honest, those terminal displays were whack, yo. Still one of my favorites. My group is a bunch of total whitehats, and we go about on our own unofficial, years-long project to "liberate" the school's lab PCs and Macs from this useless, harmful software, about as quickly as we can identify them and gain the trust of the lab's current staff, or they at least turn their backs long enough to reboot the system without its most pointlessly irritating security features and come back later to finish the work (maybe that latter bit wasn't so white-hatish of us, but we were convinced that we were on the side of the angels). In my junior year, we discover that our school system's public router was allowing administrator logins from the internet, and was still using the default password! We have no idea what to do with this information. We pass it along to a math teacher we trust. She's very cool, she gets us. Her classroom, with its row of pieced-together PCs running Linux, networked to her personal Unix server that had its own tunnel through the firewall and to the Internet, becomes the locus for our group. Later that year, we actually meet with the school's IT and start talking about how to genuinely improve the computer security situation at the school. Nothing changes during my time in high school. In my senior year of high school, I finally get "busted" for having had "Telnet.exe" in my student account for 3 years (placed there immediately after IT had deleted it from every PC on campus, and a full year before the school enacted their policy forbidding executables in student accounts). The IT department completely misses "Telnet.bin", the Mac application, in the same directory. I should add that fully 2/3rds of the computers in our school were Macs. My group knows this, we probably knew the school's computer inventory better than the IT department did. Turn the millenium, and I'm off to college. It's a close call between Computer Engineering and Computer Science. I decided to go with with CompSci. But by now we're very much getting into "macro", so I'll just leave it there.
  8. Matriculate View File Matriculate was my first demo written for the X16 emulator, and an early version of it was featured in Dave's Building My Dream Computer - Part 2 video. It uses the default font, and emulates the Matrix rain of code. The source code for this can be found here: https://github.com/indigodarkwolf/x16-matriculate-text x16-matriculate-text.7z x16-matriculate-text.zip Submitter StephenHorn Submitted 05/01/20 Category Demos  
  9. Version 1.0.0


    Matriculate was my first demo written for the X16 emulator, and an early version of it was featured in Dave's Building My Dream Computer - Part 2 video. It uses the default font, and emulates the Matrix rain of code. The source code for this can be found here: https://github.com/indigodarkwolf/x16-matriculate-text x16-matriculate-text.7z x16-matriculate-text.zip
  10. Happy to see more people beta testing the site. I'm a cultural troglodite on the other side of the pond, so the only Egon reference I'm familiar with is accompanied by Ray Stanz and Peter Venkman. Ooh, and we can embed Youtube videos in comments. Snazzy.
  11. And I pretty much got the push notification from that immediately, even though I'd left the site open and idle for some hours. So that seems to work well.
  12. No bug, that's actually how that's supposed to work, apparently. https://www.c64-wiki.com/wiki/PLOT_(KERNAL)
  13. Version 1.0.1


    A little gameplay-ish and graphics demo of a car on a road. You can control the car with the D-pad on your controller. There's parallax! And a glitchy road, demonstrating why you shouldn't naively depend on sprites to create additional layers of parallax... you'll need to be more clever. The source code for this can be found in the following github repo: https://github.com/indigodarkwolf/x16-racer
  14. In the spirit of introductions, I'm also Stephen Horn on the Facebook group, I wrote a modestly popular (and emphatically unofficial) reference guide for the Vera 0.7 and 0.8. Instead of updating that guide for Vera 0.9, I've instead been working (albeit glacially) to update the reference and provide samples over on the X16 emulator's Github wiki, where it'll be easier for folks to make their own edits and harder for folks to accidentally edit things they didn't mean to (as maybe 30-40 mistakes were made in the Google doc for every genuine correction or suggestion). I've also made a couple of small demos. Dave called my Matrix text crawl his favorite from the early set that made it into his Dream Computer part 2 video! It was still using a placeholder name, though, "Greenspace", literally copy-pasta'd from a Super NES demo that I was using to learn 6502 development. It's proper name is Matriculate. Sadly, it still needs to be updated for r37. But I do have a demo recently updated for r37 (x16-racer), so hopefully Matriculate will get some love soon. I have a habit of making silly mistakes when I do math in a Facebook thread, feel free to call me out on it when you see it.
  • Create New...

Important Information

Please review our Terms of Use