Jump to content

Search the Community

Showing results for tags 'vera'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Commander X16 Forums
    • Introductions
    • X16 Discussion Lounge
    • X16 Help & Support Lounge
    • Off-topic Lounge

Categories

  • Official Software
  • Official Docs
  • Community Downloads
    • Games
    • Productivity Apps
    • Graphics Apps
    • Audio Apps
    • Demos
    • Networking Apps
    • Dev Tools
    • Tutorial Apps
    • Misc Apps

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


About Me

Found 8 results

  1. I've created a blog post about using tiles in BASIC. Going over the fundamentals of getting a Tiled map and graphics in to the X16 and displayed. https://justinbaldock.wordpress.com/2020/10/09/commander-x16-basic-tiles/ Feel free to comment here when providing feedback.
  2. I'm thinking about the XDC player (or '8088 domination') when writing this topic, if it's not clear. I'd like to discuss about how good the X16/VERA can be at video playback. First, let's compare the X16 with an IBM PC: the 8088 can needs more cycles to execute a command, but the 6502 does much less in one instruction, and it's 8-bit. Therefore I don't quite agree with the idea that the X16 would totally outperform a PC in general tasks. However, when it comes down to video playback, it's all about clock speed and cycle count. An LDA-STA-DEX-BNE cycle (which acts like a REP MOVSB command widely used in XDC) would cost 11 to 13 clock cycles (depending which kind of LDA you're using, as explained below), at 8MHz frequency, this would give us around 615KB/s to 727KB/s transfer rate. Well this is an ideal case and in reality we'll also be dealing with audio and resetting counter and stuff. However, it is arguable that we will able to get over 480KB/s at most times, which is double the limit of XDC. Since the author of XDC said that the graphics I/O is the ultimate bottleneck of the player (the MFM disk could only do 90KB/s but this can easily be solved by using a XT-IDE card instead), we can expect the X16 to do much better, if not double the fluency. Second, the X16 has 256 colors from a 4096-color palette. which means don't need dithering to achieve the same effect of XDC. No dithering will result in more chunky data which is good for run-length compression. Plus, we can use only the STA-DEX-BNE cycle similar to a REP STOSB command. It needs only 9 clock cycles which will give us more than 1MB/s raw transfer speed! What makes things better? The VERA chip! The auto increment feature allows us to implement dithering AND have chunky data (along with the benefits of run-length compression and higher transfer rate). This is because ordered dithering changes a single color into a pattern, which is usually 8 pixels long. Then we can set the auto increment value to 8 and fill in pixel 0,8,16... in the first run and pixel 1,9,17... in the second run etc. By doing so we can achieve good color, high compression rate and fluency simultaneously. There are two ways to play the video: first, the player reads the video file and copy it to VRAM (that means we will use LDA [addr],X which is 4 cycles at least). The second is the player just JSRs to the video and 'execute' it (that means we can use LDA #value instead, a 2 cycle command). Despite being a bit slower, I believe the first is a better solution as users might be sharing videos online (probably on this forum) and the second method has essentially no way to protect the device from 'Trojan video'. You would definitely not want your movie erase all the files on your SD card, do you?
  3. JimmyDansbo

    IRClock

    Version 1.0.0

    1 download

    IRClock shows a digital clock in the upper right corner of the screen. This way it is possible to keep an eye on the clock even while being productive on the Commander X16. The program copies it self into golden RAM, starting at $0400 and takes up a total of 195 bytes. After initialization, the program does not need any of the memory usually used for BASIC and can be overwritten. When the program is running, the current hour, minute and second can be poked into addresses $400, $401 and $402 respectively. The values must be BCD encoded which essentially means, just poke them in as hexadecimal values i.e. 11:04 would be poke'd in like this: Result is immediately visible.
  4. IRClock View File IRClock shows a digital clock in the upper right corner of the screen. This way it is possible to keep an eye on the clock even while being productive on the Commander X16. The program copies it self into golden RAM, starting at $0400 and takes up a total of 195 bytes. After initialization, the program does not need any of the memory usually used for BASIC and can be overwritten. When the program is running, the current hour, minute and second can be poked into addresses $400, $401 and $402 respectively. The values must be BCD encoded which essentially means, just poke them in as hexadecimal values i.e. 11:04 would be poke'd in like this: Result is immediately visible. Souce can be found here: https://github.com/JimmyDansbo/cx16stuff/blob/master/irclock.asm Submitter JimmyDansbo Submitted 01/14/21 Category Misc Apps
  5. Is it possible to manually (not from software) re-program the VERA's on-board FPGA to perform different kinds of tasks? This can perhaps allow the video modes to be changed, or even allow a virtual 2nd CPU to be created if there's enough spare logic blocks. I might as well replace the default PSG/PCM audio with my own Amiga-like sampler, to be paired with the otherwise hard-coded YM2151 and SAA1099 audio. I know users will be able to re-program the X16's flash ROM with their own software, to be paired with their custom VHDL/Verilog code if only @Frank van den Hoef makes this possible.
  6. @Frank van den Hoef What would happen if a DC START register is greater or equal to its matching STOP register? Will it flip the image or not render it at all? Flipping would make the VERA's logic design a bit more complicated, so I assume it's the latter. Does a sprite with a lower Z-depth value and lower position in memory actually render behind a sprite with higher Z-depth and position, or will it display garbage like the GBA? (E.g. sprite 0 has Z=2, sprite 1 has Z=3) Note that lower positions mean higher-priority sprites if their Z-depth is the same. Will the PSG's noise wave use a predefined sequence? The emulator's PSG code doesn't seem to implement one, and just takes a random number from 0 to 63. Maybe it uses a true-random supply from somewhere in your FPGA?
  7. So in my other post here: I wanted to make a programming language and a IDE to be used in the X16. So for creating the text box I have 2 options: 1. Using the GNU Readline library pros: Allows me to program in c cons: May not work on the X16, Lack of documentation, Might need to be ported to the X16 2. Directly editing the video memory pros: Gives me full control over graphics, Wont require extra code to be ported, cons: Even though I do have experience in assembly(x86 and 6502) it will be very hard to get right. So I have chosen to interface with the video memory directly. I'm having a bit of trouble understanding the Vera video card. I have read through parts of the unofficial documentation but I have a couple questions: 1. How do you switch to text mode? 2. How do you add characters or etc to specific parts of the screen? As development continues more questions may arise if so they will be added on to the list of questions. Thank you and have a nice day!
  8. Hi all, Just trying a few things before starting on a basic game. One thing I'm up to is loading a file into VRAM. I see this is supported in BASIC, but is there any existing code to do this is ASM? I can see how to implement this myself by opening the file, reading it a byte at a time and using the auto-increment of both the file handle and the vera, pipe it through. But, is there a repository of helper functions to do things like this? Cheers Troy
×
×
  • Create New...

Important Information

Please review our Terms of Use