Author Topic: CGDoom  (Read 72450 times)

0 Members and 1 Guest are viewing this topic.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: CGDoom
« Reply #15 on: June 26, 2012, 03:24:26 am »
I doubt it'S for cg20 only, because Kerm made a video of it and he lives in America.
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline MPoupe

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 168
  • Rating: +30/-1
  • The coder of yesterday
    • View Profile
    • My web site about Casio calculator
Re: CGDoom
« Reply #16 on: June 27, 2012, 04:16:29 am »
Hello,
I tried to decrease memory usage by direct usage of the flash. But it seems there are some times problems with accessing flash.
Exactly I got this error:
System ERROR
ADDRESS (R)
TARGET = A1524CCD
PC        = 00305BA0
I think this should not happen, because A0000000 ~ A1FFFFFF is flash, so the pointer should be readable.
I attach cgdoom version with this problem, please test it if you want. But please expect crash.

It should crash in the very early moment while initialisation.
Please post here if you get different behaviour.

Edit: removed attachment, because it has already fixed bug
« Last Edit: September 25, 2012, 07:40:08 am by MPoupe »

Offline calc84maniac

  • eZ80 Guru
  • Coder Of Tomorrow
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2912
  • Rating: +471/-17
    • View Profile
    • TI-Boy CE
Re: CGDoom
« Reply #17 on: June 27, 2012, 10:16:11 am »
Is it possible that you accidentally wrote to flash? I imagine that would generate a system error.
"Most people ask, 'What does a thing do?' Hackers ask, 'What can I make it do?'" - Pablos Holman

Offline MPoupe

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 168
  • Rating: +30/-1
  • The coder of yesterday
    • View Profile
    • My web site about Casio calculator
Re: CGDoom
« Reply #18 on: June 27, 2012, 10:28:46 am »
Is it possible that you accidentally wrote to flash? I imagine that would generate a system error.
Yes, of course. In reality I do not know exactly, what is happening inside the code :-)
But I think problem is in reading (there is "ADDRESS (R)", I hope this means read error and I would get "ADDRESS (W)" on write error.)

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: CGDoom
« Reply #19 on: June 27, 2012, 01:40:38 pm »
By the way be careful when writing to Flash (or to not accidentally do it). On TI calcs, when doing so, it can permanently damage the calc if you overwrite the areas that lets you resend a new OS or boot the calc O.O

Another thing: Is CGDoom for a programming contest like the Omnimaga one?
« Last Edit: June 27, 2012, 08:55:42 pm by DJ_O »
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline flyingfisch

  • I'm 1337 now!
  • Members
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1620
  • Rating: +94/-17
  • Testing, testing, 1...2...3...4...5...6...7...8..9
    • View Profile
    • Top Page Website Design
Re: CGDoom
« Reply #20 on: June 28, 2012, 09:19:50 am »
By the way be careful when writing to Flash (or to not accidentally do it). On TI calcs, when doing so, it can permanently damage the calc if you overwrite the areas that lets you resend a new OS or boot the calc O.O

Another thing: Is CGDoom for a programming contest like the Omnimaga one?

It doesn't seem like it. He didn't mention it and has ignored my comment that one of the categories for this year's UCF contest is 3D.



Quote from: my dad
"welcome to the world of computers, where everything seems to be based on random number generators"



The Game V. 2.0

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: CGDoom
« Reply #21 on: June 28, 2012, 09:29:04 am »
Or maybe he didn't have any plan to enter it into a contest. But again it probably won't be finished in time, although a demo of such game is always welcome I guess if it has enough levels.
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline flyingfisch

  • I'm 1337 now!
  • Members
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1620
  • Rating: +94/-17
  • Testing, testing, 1...2...3...4...5...6...7...8..9
    • View Profile
    • Top Page Website Design
Re: CGDoom
« Reply #22 on: June 28, 2012, 11:45:37 am »
Or maybe he didn't have any plan to enter it into a contest. But again it probably won't be finished in time, although a demo of such game is always welcome I guess if it has enough levels.

Yeah, I am thinking that it will probably take ~4mo to get it to be stable and fast.



Quote from: my dad
"welcome to the world of computers, where everything seems to be based on random number generators"



The Game V. 2.0

Offline MPoupe

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 168
  • Rating: +30/-1
  • The coder of yesterday
    • View Profile
    • My web site about Casio calculator
Re: CGDoom
« Reply #23 on: June 28, 2012, 12:21:22 pm »
By the way be careful when writing to Flash (or to not accidentally do it). On TI calcs, when doing so, it can permanently damage the calc if you overwrite the areas that lets you resend a new OS or boot the calc O.O
Another thing: Is CGDoom for a programming contest like the Omnimaga one?
I hope simple memcpy(&flash, something, some value) cannot write to the flash. Because this is the only possibility how to accidentally write to flash in cgdoom.

About the contest - I do not think it is simply possible to finish cgdoom in any time. Have working (partially) first room is something very different to have working the whole doom.The original game doesn't allocate 6MB RAM for nothing. I simply have luck with the first room, because it is very simple (from point of view of the RAM requirement).

Also I do not program every weekend, there are months, when I do not find a time for programming (for Prizm).
I think the theoretical maximum may be to have working this free version of doom (I mean the attached 3 MB wad file). I could probably specialize the game to cooperate with this wad file (and not support any else).

BTW: is there somebody who wants cooperate cgdoom development ?

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: CGDoom
« Reply #24 on: June 28, 2012, 04:45:46 pm »
Ok I understand your concern. That said, a demo is possible for a contest, but if it's just the first level, it might lose a few points due to being too easy and short. And the contest ends in two weeks, so I guess time would definitively be an issue.

I personally cannot help, though, having quit programming and not knowing C. Hopefully someone here can help.

By the way, why are the HP/Ammo/armor digits white instead of red in every calc DOOM port? ???
« Last Edit: June 28, 2012, 04:59:03 pm by DJ_O »
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline Deep Toaster

  • So much to do, so much time, so little motivation
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 8217
  • Rating: +758/-15
    • View Profile
    • ClrHome
Re: CGDoom
« Reply #25 on: June 29, 2012, 02:51:10 am »
I guess the CX really is faster than the Prizm in raw speed. That's too bad, but this is a great achievement anyway :) Can't wait to try this out!




Offline MPoupe

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 168
  • Rating: +30/-1
  • The coder of yesterday
    • View Profile
    • My web site about Casio calculator
Re: CGDoom
« Reply #26 on: June 29, 2012, 04:41:20 am »
I guess the CX really is faster than the Prizm in raw speed. That's too bad, but this is a great achievement anyway :) Can't wait to try this out!
I think the majority of the slowness of CGDoom is not slower  CPU in Prizm, but low RAM. Doom (in general) uses big RAM buffer to load pieces of WAD and it tries to keep them here as cache. So if HW has enough RAM, it loads everything in the beginning and then it works with RAM only. CGDoom is not able to keep everything in RAM so it loads parts of WAD for each frame.
Imagine Windows 2000 on PC with 16 MB RAM (I have seen it once and it was worse than CGDoom :-) )

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: CGDoom
« Reply #27 on: June 29, 2012, 08:47:36 am »
Yeah it reminds me when Omnimaga moved to this server and barely had any RAM. The database had to be loaded from the hard drive, which was much slower than from the RAM, causing the site to be incredibly slow. I guess it's the same for game-based softwares.

That said, CGDoom runs faster than Doom on my 2.9 GHz Windows XP machine O.O (if I run it without DOSbox on the latter)
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline MPoupe

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 168
  • Rating: +30/-1
  • The coder of yesterday
    • View Profile
    • My web site about Casio calculator
Re: CGDoom
« Reply #28 on: June 29, 2012, 09:39:36 am »
That said, CGDoom runs faster than Doom on my 2.9 GHz Windows XP machine O.O (if I run it without DOSbox on the latter)
BTW: that would be also nice project. DOSBox on Prizm :-)

Offline Jim Bauwens

  • Lua! Nspire! Linux!
  • Editor
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1881
  • Rating: +206/-7
  • Linux!
    • View Profile
    • nothing...
Re: CGDoom
« Reply #29 on: June 29, 2012, 01:53:11 pm »
DOSBox is C++ and uses SDL. So first pSDL and a proper C++ toolchain is needed.
But I could be wrong ^^