Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Posts posted by LS_Dracon

  1. The game is finally released.

    You can order by sending an email to Marc from VideoPac Belgium :  [email protected]

    There will be 100 numbered copies Odyssey2 style and 25 copies VideoPac Style.

    You can choose the cart number, if available.


    I wonder to know who will be the first to finish the game and collect the Amulet of eternity....


    EDIT : OMG! This is my AtariAge 1000 post!

    • Like 1

  2. It is done. Here is the amazing artwork for the game made by Zemial.

    And another surprise I was holding : The cart will comes with label in that golden paper you see in games like Quest for the Rings.

    I'm so happy finally see my game featuring a professional artwork and all these little details.


    Pre-orders info soon :)










    • Like 4

  3. There is a mode you can read from external RAM and copy to VDC.

    It's the P16 bit, according Dan Boris O2 DOC :


    P16: Copy mode enable.
    Setting this bit to 1 enables the RAM to VDC copy mode. To use this mode you must also set P13 and P14 to 0. In this mode all external reads come from the external ram and
    all external writes go to the VDC. This allows data to be copied from the RAM to the VDC easily.




    movx a,@R0  ;Copy from extra RAM

    movx @R1,a ;Writes to VDC 


    R0 = points to ExtRAM, R1 points to VDC.

    Tricky ;)


    EDIT : VDC should be OFF, hence it is done during Vblank, usually.

  4. The idea behind the external RAM is you don't need to deal with VDC registers directly, you set the processor to use external RAM, set all values you need there, and during VBlank you send these values to VDC (like a mirror). 

    Naturally some values like GFX data for sprites need to be written directly to VDC or you will not have enough extra RAM to store everything.


    If thats to slow for a lot of stuff at least the 128 external bytes could be used to store information you don't always need access to. I mean they must have put the external ram in the console expecting people to use it for something.

    Forget speed when you're dealing with Odyssey2.


    If you want more RAM and speed, look the design behind Harmony cart for Atari2600, it features a ARM processor you can code in C, and the Atari side is just pick the values from cart RAM and store to the registers. This way you can boost Odyssey 2 as well, as you can change stuffs "on the fly" (while screen is being drawn) and have almost no ROM limits.


  5. Although I (personally) haven't used it, according to the doc there are 128 bytes external to the CPU.


    Besides that RAM that is internal to the processor there are 128 bytes of RAMexternal to the processor. To enable the external ram set P14 low and P13 high. The memory can now be read and written to using the MOVX command.




    Yes, I was talking about VDC RAM and internal RAM only. On top of that, you have 128 bytes of external RAM.




    Ok cool, so seems like the stack memory will be limited to around 32 bytes for execution?

    Then if I can access the 128 bytes of external SRAM I can store other game resources there.

    Correct me if I'm wrong but the graphics/audio controller is like the Atari 2600 and only has control registers or does it also read from the SRAM like a PPU/GPU?

    The external RAM is difficult to work with. When you set the processor to work with it, you can't access the graphic registers at same time.

    It requires a special opcodes, and you can only write and read, you can't INC or DEC or ADD directly.


    Yes, VDC (Video Display Controller) it is like Atari 2600, you just set the registers.

  6. So there 256 bytes for graphics. So correct me if I'm wrong but that external 256 bytes of ram could also be used as non-graphic storage for game loops but maybe its a little slower for the CPU to access?


    What compiler options are there for the O2? Is there a C compiler. I saw people were looking at SDCC at one point but maybe assembly is the only option?


    No. the VDC RAM uses BITs not BYTEs, so if a particular registers uses only the first 4 bits, all other 4 "bits" doesn't exist on hardware.

    The unused addresses are empty. In late 70's RAM was a precious resource.

    What you can do, if you're not using GRID graphics, is disable them and use grid registers to load and store values. That's extra 16 bytes only.

    Beware, not all registers are R/W, most of them are write only. I not sure exactly which ones you can read back.


    There is a way to add extra RAM on a cart, but from what I know, it was never done before.


    The internal RAM are 64 bytes, but the first 32 are used for processor :

    16 bytes for registers (0-7 normal and 0-7 alternative)

    16 bytes for Stack Pointer, you can use some of them if you know exactly what you're doing (subroutine levels deep and such)


    Note the last 3 bytes is used for BIOS :


    03Dh : Hold collision results

    03Eh : Timer (count up to 60 then resets, 60 frames = 1 second, thus resets every second)

    03Fh : Hold video status (not much usefull).


    So you actually have 29 bytes free in the internal RAM.


    I think for 8048 you're unique option is assembly.

  7. Would be great if you have a way to produce brand new cart shells.

    The problem, 5k is like sell 100 carts at $70 ($20 for the production costs, $50 for pay the injection mould).

    It is difficult to sell that much in a short period of time.

    But you can sell the empty carts for homebrew producers, which helps a bit.

  8. So sorry about lack of news.

    I'm also getting a little impatient...

    All I can say, we're waiting the professional artwork cover for the game.

    Yes, that's one of the surprises I was holding. The game (supposedly) will feature an professional drawing artwork.

    Also, I'm waiting a dude who (supposedly) is making a title screen music for the game.


    • Like 2


    As for the garbled gfx, that's actually a bug in the game: it doesn't initialize the decimal flag. You won't see this if you just load the game from the harmony menu (as the menu itself clears the D flag), but it might happen randomly when putting the game on a real cart.


    Yes, it does not clears decimal flag at game initialization, I'm aware this bug by long time...

    This was one of my firsts game ever, I was learning not only how to code for 2600 and also trying to understand 6502 assembly.


    Decimal flag seems to start at 0 most of times when you power on the console, but at very random event it could start at 1 and then I got problems.

    I not sure if I fixed it on last revisions (there was like 3 game revisions, the ROM was not released to the public).

    I only noticed this glitch on my hardware like 2 times ever, and I thought was a cartridge connection problem, which was solved by re-inserting the cart (actually power cycling the console fix it).


    The lasts Stella emulator versions, in order to perfect the emulation, is randomizing the processor flags, so this bug now happens more often.


    The game also have others small glitches that really annoys me, sorry about that.


    Anyway, after 11 years, have one of you guys found the game's Easter Egg?

  10. We had a lot of fun playing your game on the livestream, especially once we figured out a good strategy to hold a point competition by trading off who was doing the chasing.


    I think it's really important to port these forgotten arcade games as I had never heard about it before encountering your game. Great job on it!


    Thank you very much!


    Gotcha may be a forgotten game, but played a important role at video game industry as being the first maze game ever, the PacMan grandpa.

    And the color version is the first time someone messed with RGB signal to display video game color graphics. :)

    • Like 2

  11. It's a two player game where one person tries to catch the other before the time runs out. On the livestream we took turns for who chased and who got chased.


    I've watched the livestream, thanks for playing the game :)


    There's not much to do in this game, it seems moving a object on a screen was entertaining enough for a commercial product back in 1973.

  12. I still want to work a bit on this game, like re-spawn the player at random position, like the arcade (only the "square" is repositioned, "cross" stay in place)

    And bounce the players around like pong ball during attract mode.


    I don't have plans to code AI anymore, sorry.

  13. It doesn't means much for you guys, but Dungeon of Eternity was featured in a Brazilian videogame magazine Jogos80 this month.

    Jogos80 is an early 80's videogame and computing related magazine.


    Thanks to my friend and Odyssey2 programmer Rafael Cardoso, who wrote the article. He was one of the beta testers and followed the game programming since the beginning.


    Thanks also for Marcus Garret and everyone from Jogos80 for publishing it. :)


    • Like 6

  14. They dig internet trying to find most ROMs as they can, and stuff into one multicart, just to say there are more 200 or so games on it.


    What really makes me sad is I aways put my ROMs online, because I appreciate the feedbacks and like I said, I don't mind people playing my games on emulator, as long they're enjoying my work.

    Also beta testers help me to make the game better with suggestions and bug findings.


    Now, everyone looses.

    • Like 1
  • Create New...