Ok, I'll be a tad more algorithmic in my responce.
The basis behind any event is the Boss Flag. This is the only way we have in Zelda Classic to have an event in one room affect what happens in another room. Assuming you go with option1 (enemies in a room beyond the codec control whether it appears), heres what you do.
1) Set up the Codec Room
Make this a normal room, but set it up so that Snake will have to walk over some small area. In this area, make a combo that is a stair or type with a tile identical to the floor. Have it instawarp him to a screen identical to the one he WAS on, except on this screen the codec displays. You might want to use the ol' "press right or left" to proceed trick here instead of linked strings, since I assume you'll use portraits during codec conversations. Anyway, the codec should loop around and do one of two things :
a) Deposit snake back in the room he first entered the codec from, but placed a little beyond the pit/stair combos. Advantage : Easy, avoids more warps. Disad : Snake can walk back over the codec tiles again at this point.
b) Deposit snake in a room identical to the original room, and have the level designed so that you can get him back into the right room using Side Warps. (Make copies several rooms if you have several doors, just side warp him back at SOME point. It goes without saying you cant have items in these dummy rooms unless you want him to pick them up twice.) Adv : No double codec triggering. Disad : You need to hassle with side warps and bear design issues in mind.
2) Set up a boss flag event
On the codec trigger screen (the first one, described above) put a Trigger enemy there, and set the Dungeon Boss and Enemy->Secrets flag. Set it up so that when the flag is triggered, the pit/stair combos that send him into the codec are replaced with walkable solid tiles. The idea is, once the flag is triggered, the codec won't display anymore.
3) Force the player to trigger the flag
In some room directly beyond the codec room, have some enemies and shutters. Set a Dungeon Boss flag in this room, and then once the player kills all the enemies here, the codec will not display. If you make this second room follow the codec room immediatly and dont make the enemies too hard, you're pretty assured the player WILL trigger it right after seeing the Codec.
Oh, and remember that room must share a Level with the codec room.
Of course, if you have alot of Codecs, you're gonna start running out of boss flags. But then you can help me ask for DN to make boss flags aobve 32 work properly 😉
-C