Ok, this kinda sounds like a really stupid thread and it probably is, but what does the TG-16 do when the cartridge is inserted and the switch is turned on?
And don't reply "IT PLAYS THE GAME, DUMBASS." I figured THAT much on my own.
What I mean is, when power is applied to the TG-16, what instructions does it execute first? Surely even the TG-16 has a BIOS, so that's loaded first, right? Then would the TG-16 load graphics and shit into it's memory or begin streaming it, or does the game engine code take care of that?
Can somebody give me an event by event list of what the Turbo does when it starts up? This wouldnt be the Turbo cd, just a normal American TG-16.
Does the system do sort of hidden diagnostics? Does it strobe the controller input to see if anything is plugged in? Are there certain varibles that have to come back as 1 or YES or positive or something before the game is played?
It has been boggling me for a week now... :(
Kitsune, we really need to get you a Turbo system :mrgreen: .
00 initialize rom
10 check the slot
20 hucard unreadable
30 promt the user to revers the hucard
40 check the slot again
50 start the game
Step by step, huh? :D
You asked for it...
The first thing that happens when the CPU is powered on:
-Map bank $00 to CPU logic address $E000-FFFF, which is MPR 7 (Map register).
-Since the CPU is in reset state, the CPU jumps to the address in the RESET entry of the interrupt vector table. This is located at $FFFE-FFFF.
-The most common RESET vector jump address is $E000. In this little scenario, the CPU jumps to $E000.
-The first instruction is disable interrupts (SEI), usually followed by a NOP (no operation, but wait 2 cycles)
-Then map in the system work ram bank $F8 to $2000-3FFF, MPR 1. Ram needs to be here since the STACK is hard coded to address $2100-21FF and is needed for interrupt calls and subroutine calling, not to mention indirect addressing via a set of registers located in RAM known as ZeroPage.
-Once Ram is mapped, you initialize it to all 00's (don't want any left over garbage in there).
-next to do is initialize the SP register (stack pointer) to #$FF, which is the first entry slot
-Mapped in the hardware bank $FF to address $0000-1FFFF (MPR 0). This bank, you access the video processor,video encoder, sound registers, interrupt controller, and I/O
-you probably want to turn off the display now, but you don't have to do this right away.
-next you start mapping in other banks of program code/data into the rest of the address range (MPR slots).
-initialize the audio registers from the hardware bank, and then jump into initializing the game/program code
There is no BIOS on the system or checksum or such. The only difference between the US and JP consoles is that there is a pin that's held high on one system and low on another. US games check this pin (which is part of the I/O port) to test which system the code is booting up on. If the wrong system, then no go. Japanese software doesn't bother to check this pin and is why you can play JP hucards on a US system with a pin converter.
This stuff is good to know. When I come home drunk and turn my system on I don't even know this shit is going on. It's transparent. That's what makes the Turbo so awesome. 8)
Quote from: TurboXray on 12/31/2007, 05:43 AMStep by step, huh? :D
You asked for it...
The first thing that happens when the CPU is powered on:
-Map bank $00 to CPU logic address $E000-FFFF, which is MPR 7 (Map register).
-Since the CPU is in reset state, the CPU jumps to the address in the RESET entry of the interrupt vector table. This is located at $FFFE-FFFF.
-The most common RESET vector jump address is $E000. In this little scenario, the CPU jumps to $E000.
-The first instruction is disable interrupts (SEI), usually followed by a NOP (no operation, but wait 2 cycles)
-Then map in the system work ram bank $F8 to $2000-3FFF, MPR 1. Ram needs to be here since the STACK is hard coded to address $2100-21FF and is needed for interrupt calls and subroutine calling, not to mention indirect addressing via a set of registers located in RAM known as ZeroPage.
-Once Ram is mapped, you initialize it to all 00's (don't want any left over garbage in there).
-next to do is initialize the SP register (stack pointer) to #$FF, which is the first entry slot
-Mapped in the hardware bank $FF to address $0000-1FFFF (MPR 0). This bank, you access the video processor,video encoder, sound registers, interrupt controller, and I/O
-you probably want to turn off the display now, but you don't have to do this right away.
-next you start mapping in other banks of program code/data into the rest of the address range (MPR slots).
-initialize the audio registers from the hardware bank, and then jump into initializing the game/program code
Cool, that is EXACTLY what I wanted to know! Thank you! ^____^
I'm pretty sure the SNES and Genesis don't exactly follow this, but they're similar right?
So while we're at it, why does a PC generally take a few seconds to boot up (even just the basic I/O stuff from BIOS, never mind a bloated OS) while most game systems instantaneously boot up?
I always assumed it had to do with the fact that a game system is made for one purpose and does not have to check 16 different card slots, IDE, ram, etc...
what's going on there?
This likely isn't a complete reason, but a PC's BIOS has more ports to check (internal and external), more controllers to initialize, and has to assign resources to each component. In short, it takes longer on a PC because it has more complicated hardware, which is why newer systems all take time to boot up.
OldTurboBastard, that is one of the reasons. The PC also does a number of self-diagnostics on power-on, this is called POST. If you ever hear of anyone saying that their "computer failed post", that's what they're referring to. Old consoles don't have a POST step, nor do they have to spend time probing hardware, so they can start up immediately.
Kitsu: The SNES and Genesis have similar startup procedures, yes. The hardware goes through a few initialization steps and then jumps to the start of the program code in ROM. mal probably knows the exact procedures involved. :D
Are the system cards like a BIOS for the CD unit? Or are they just some kind of higher level software that can be used to control it?
Quote from: Missa on 01/01/2008, 04:36 AMAre the system cards like a BIOS for the CD unit? Or are they just some kind of higher level software that can be used to control it?
According to this thread (https://www.pcengine-fx.com/forums/index.php?topic=4040.0), they are both.
Old Rover thanks for the info. I looked up POST that explains a few things
Quote from: OldRover on 12/31/2007, 11:18 PMOldTurboBastard, that is one of the reasons. The PC also does a number of self-diagnostics on power-on, this is called POST. If you ever hear of anyone saying that their "computer failed post", that's what they're referring to. Old consoles don't have a POST step, nor do they have to spend time probing hardware, so they can start up immediately.
In addition, hardware such as hard drives need time to "spin up" to become ready to read, and this often takes a few seconds. If your machine zipped through POST the Hard Drive wouldn't be ready to boot from.
Basically, the PC is a far more complicated piece of machinery than any console. All XBox 360's are the same (more or less, depending on revision and model) whereas there's an unlimited number of software/hardware combinations for your PC to deal with.
OD
What doesn't the TG-16 do? 8)
Quote from: ceti alpha on 01/02/2008, 03:51 PMWhat doesn't the TG-16 do? 8)
Blast Processing
TM
QuoteBlast ProcessingTM
haha. I love tossin' out those soft balls for people to hit out of the park. :P
Quote from: guest on 01/02/2008, 04:15 PMQuote from: ceti alpha on 01/02/2008, 03:51 PMWhat doesn't the TG-16 do? 8)
Blast ProcessingTM
If you compare the sega ports on the pce, it appears that it does something better :P
Quote from: guest on 01/02/2008, 04:15 PMQuote from: ceti alpha on 01/02/2008, 03:51 PMWhat doesn't the TG-16 do? 8)
Blast ProcessingTM
I think it does Hyper Processing
TM. Well... that's what I get out of the promo tapes. It's like a hyper active little guy in your TG system, pushing stuff 'll around. Turbo Grafx-16, now you're playing with AHDH power!
ADD Power!
ADHD power!!!
AD&D Power! :dance:
What were we talking about? :P
Quote from: ceti alpha on 01/03/2008, 11:13 AMWhat were we talking about? :P
Oh yeah, the topic - here's Kitsune's answer: IT PLAYS THE GAME, DUMBASS! :)
QuoteOh yeah, the topic - here's Kitsune's answer: IT PLAYS THE GAME, DUMBASS! Smile
Sorry, my ADD kicked in and I forgot. heh