Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


svenvandevelde last won the day on March 27

svenvandevelde had the most liked content!

Community Reputation

79 Excellent

About svenvandevelde

  • Birthday 01/31/1970

Recent Profile Visitors

430 profile views
  1. It does yes. It is amazing.
  2. Maybe at the moderators, I accidentally put this in the wrong forum section. Maybe you can move this to "other topics" section?
  3. Note that the dark object on the right is not the mouse but my hat. It's been 30 years or more ...
  4. Welcome back ...
  5. i have a similar problem with my heap manager. I do the same. my headers are 8 bytes. I can store 1000 headers in one bank.
  6. It depends which c compiler you use.
  7. Nice work @ZeroByte. It is fun.
  8. In what language do you write this?
  9. This is a complete example of how I use the cx16 heap manager to setup memory segments in BRAM and VRAM for dynamic memory management. // Memory is managed as follows: // ------------------------------------------------------------------------ // // HEAP SEGMENT VRAM BRAM // ------------------------- ----------------- ----------------- // HEAP_SEGMENT_VRAM_PETSCII 01/B000 - 01/F800 01/A000 - 01/A400 // HEAP_SEGMENT_VRAM_SPRITES 00/0000 - 01/B000 01/A400 - 01/C000 // HEAP_SEGMENT_BRAM_SPRITES 02/A000 - 20/C000 // HEAP_SEGMENT_BRAM_PALETTE 3F/A000 - 3F/C000 // Handle the relocation of the CX16 petscii character set and map to the most upper corner in VERA VRAM. heap_segment segment_vram_petscii = heap_segment_vram(HEAP_SEGMENT_VRAM_PETSCII, 1, 0xF800, 1, (0xF800-VRAM_PETSCII_MAP_SIZE-VERA_PETSCII_TILE_SIZE), 1, 0xA000, 16); petscii(segment_vram_petscii); // Allocate the segment for the sprites in vram. heap_bank heap_vram_ceil_bank = heap_vram_floor_bank(segment_vram_petscii); heap_ptr heap_vram_ceil_ptr = heap_vram_floor_ptr(segment_vram_petscii); heap_segment segment_vram_sprites = heap_segment_vram(HEAP_SEGMENT_VRAM_SPRITES, heap_vram_ceil_bank, heap_vram_ceil_ptr, 0, 0x0000, 1, 0xA400, 0x02c0); // Load the palettes in main banked memory. heap_segment segment_bram_palettes = heap_segment_bram(HEAP_SEGMENT_BRAM_PALETTES, 63, 0xC000, 63, 0xA000); heap_handle handle_bram_palettes = heap_alloc(segment_bram_palettes, 8192); heap_ptr ptr_bram_palettes = heap_data_ptr(handle_bram_palettes); heap_bank bank_bram_palettes = heap_data_bank(handle_bram_palettes); // Initialize the bram heap for sprite loading. heap_segment segment_bram_sprites = heap_segment_bram(HEAP_SEGMENT_BRAM_SPRITES, 32, 0xC000, 2, 0xA000);
  10. Been optimizing the API and also been working to optimize the internals of the code. The first posts in this thread have been updated to reflect those changes. You can find the latest code here: src/test/kc/examples/cx16/cx16-heap/cx16-heap-test.c · CX16_VERA · Sven Van de Velde / kickc · GitLab Sven
  11. Purchased a C128 yesterday with a retro Commodore monitor supporting 40 and 80 columns. It is amazing.
  12. Thank you. Was also looking into this.
  • Create New...

Important Information

Please review our Terms of Use