Jump to content

Getafix

Members
  • Content Count

    25
  • Joined

  • Last visited

  • Days Won

    3

Getafix last won the day on November 19 2020

Getafix had the most liked content!

Community Reputation

36 Excellent

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. That was a particularly odd choice on his part. He could rather have cancelled all other versions and stuck to this, for the good of the project. Perhaps he doesn't really feel this is his computer anymore, or he doesn't realize that as the father of the project, abandoning your child will look terrible in the eyes of the community. I would call this his biggest blunder to date - at least from my POV.
  2. I got a BBC Micro not long ago. Other than replace the capacitors to bring it back to life, and a little Basic coding, I haven't done anything with it. I do want to make a game for it though. For some reason there's no cc65 support for the BBC Micro. I was also thinking that working on adding that support may be a good thing. The fact that it doesn't have support does make me wonder if it may be harder than I imagine. I could easily make this runtime run on the BBC and it's not really tied to SHMUP games. Maybe when the time comes I'll think of something where I can repurpose this for some other 6502 based systems - I want to try and get some game I made on a lot of these. I love learning how they all work. I was astonished at how awesome the Atari 800 is technically, given it came out in 1979!
  3. Hi, Here's a video that shows the relatively early Shoot 'Em Up Engine I am building for the CX16. In the engine, enemies are scripted, and the enemies are active objects with program counters, stack pointers, local memory, etc. all in a cooperative multi-tasking environment. There's still quite some way to go before I am ready to make an actual game with this, but so far, it's looking really promising. Iteration time for building things is very quick and I love the idea of giving designers, musicians and artists the tools to do what they do (partly because I can't do that stuff ;) Thank you Stefan
  4. If you are using the default cx16-asm.cfg then it does indeed start at $22. With cc65 it's a good idea to get to know the .cfg files and how they work. You can do some useful stuff if you need to, such as aligning segments, making your own, etc.
  5. The Spectrum Next is (for a short time) available for order again. According to the latest update, production will start early next year so there's a bit more time to order one. Here's the link: https://www.specnext.com/shop/
  6. Instead of .org $22 just use .zeropage. Here's a quick discussion about this: https://www.cc65.org/faq.php#ORG I don't use .org at all. I use .code for the code and I do use .data for variables and .rodata for read-only data (not enforced, just the way I like to organize stuff). Then it's all nice and neat and the linker puts it where it needs to go. here's an example (I saved as main.s): .zeropage myzpptr: .res 2 .code lda #<mystring sta myzpptr lda #>mystring sta myzpptr + 1 ldy #0 : lda (myzpptr), y beq :+ jsr $ffd2 iny bne :- : rts .data mystring: .asciiz "hello, world!" now compile with: cl65 -t cx16 -u __EXEHDR__ main.s -C cx16-asm.cfg and you will have main that you can run in the emulator with: x16emu.exe -prg main -run The -u __EXEHDR__ creates the basic stub (the sys 2061) for you. It's all very neat
  7. Getafix

    CPU meter

    The Apple II emulator, AppleWin, counts the cycles of a "step" and shows it on-screen along with the registers, etc. You can step over a line, routine or run to a breakpoint and you can see exactly how many cycles that took. It's really great for profiling code. That's one area where x16emu could get a lot stronger - better debugging tools. Even with final hardware, having the ability to debug and profile in the emulator will be awesome and will lead to better quality software. Hopefully, over time, x16emu keeps getting features such as that.
  8. A couple of reasosn it looks like it does. I was trying to use the CX16 APIs as much as I could (this was also a learning exercise for me). The grid markers are drawn using the Graph Put Char API, which uses GEOS fonts. If I remember correctly, the put graph char API uses a proportional font, which is not what I needed for the menu or the move log. The Console API did use a mono-space font but the API wasn't well suited to how the menu code wanted to work, so I ended up using the regular text in Layer 1 for the menu and log, and the graph API to put the grid markers into Layer 0. I think you can add your own GEOS font for the Graph API but I don't know anything about GEOS so I didn't explore that route any further. Also, if I remember correctly, the built-in (regular text) font on Layer 1 is a little too wide to look nice when used as a grid marker. When I look at the screenshot now, it doesn't look great. It's probably worthwhile looking into GEOS fonts and making or finding a font that works for all cases.
  9. I did spend a bit of time looking at the "engine" and as I suspected, there are bugs for sure. Casteling can cause grief and corrupt the DB, for example. It may be worth my while to fix the bugs but I think I'd really like to rewrite the whole engine and just keep the interface to the UI (and thus have all the versions still work), now that I have been shown some chess programming resources. I don't need the game to be great, but it would be nice if it could play a fairly descent game of chess. I am just busy with a couple of other things so I think I'll just leave it as is, for now.
  10. Got my registers mixed up! Sorry about that.
  11. I just typed this in: .code lda #8 tax tay jsr $ffba lda #$a ldx #<filename ldy #>filename jsr $ffbd stz $0 lda #$70 sta $1 lda #0 ldx #0 ldy #$90 jmp $ffd8 filename: .byte "bankxx.prg" I compiled with cc65 using: cl65 -t cx16 -u __EXEHDR__ cx16.lib .\save.s -o save.prg -C cx16-asm.cfg I get BANKXX.PRG in the folder where I have the code (save.s), by using the command line (windows Powershell) ~\Games\CX16\x16emu.exe -prg .\save.prg -run I tried omitting the setting of x and y before calling SETLFS and it did not work. I know 1 and 0 worked, but 8 and 8 also worked so something of what @Greg King said made sense, but it's not quite arbitrary? I will stick with a/x/y 8/0/1.
  12. Same code works for me in r38 but I have the SETLFS parameters like this (a/y reversed from how you have it): (for completeness - I also call SETNAM before SETLFS) lda #$00 ; logical number ldx #$08 ; device 8 ldy #$01 ; secondary address jsr SETLFS
  13. The ID's are 0-127 left to right (I assume the IDs are the $FC00 + ID indicies?). The sprites are indeed 64x64 4bpp, and there are 10 on a line, yes. @StephenHorn I attach the basic file that poke's the data and shows the sprites, if you feel inclined to check it out further. If not, not a problem - I will assume there's an emulator issue which causes the delayed (onlines with 20 sprites) clipping and inconsistant results on a line by line basis. At least till I learn otherwise . sprites.bas
  14. Sure. What I am asking is why is it happening only on a few of the scan lines and not on all patterns that are exactly the same? Sprite rows 3,4 & 5 are repeated at rows 9, 10 and 11, but those rows do not exhibit the same behaviour. Is a work unit counted on a per scan line basis, or does it not neccesarily start at the left edge of the screen, at the start of a scan line? If it is the latter, then is there a way to know how it works (counts work units)? If the former (does start at the start of a scan line at the left) then why does it only run out of work units, sometimes?
  15. Hi, I am playing around with sprites. I am drawing 128 4bpp sprites in interleaved rows of 10 - using BASIC. What I see are the sprites 40-49 being clipped badly, along with some other ones. If I only draw 30-49, I see the same clipping. However, if I start drawing at 31, then 40-48 are correct, but 49 is still clipped, but in a different way. I don't really see this being a sprite work unit issue, because it should then happen consistently across other scanlines as well, or is there something I am not understanding? Just a bug in the emulator? drawing 0-127. 20 clipped, 40-48 clipped and 49 mostly missing. 59 clipped, 69 clipped, 79 clipped and 118 clipped. Drawing 30-49. Same result as drawing all 128 sprites. Drawing 31-49. 49 now half visible. Thanks Stefan
×
×
  • Create New...

Important Information

Please review our Terms of Use