diff --git a/examples/web/index.ts b/examples/web/index.ts
index 94712ccbc5d96a2ee49b380b97ab78c740e38f1d..b680317e63984e8b343a270f32bd0fd06132d9ae 100644
--- a/examples/web/index.ts
+++ b/examples/web/index.ts
@@ -230,8 +230,11 @@ class GameboyEmulator extends Observable implements Emulator {
                     this.gameBoy!.frame_buffer_eager(),
                     PixelFormat.RGB
                 );
-                this.trigger("frame");
                 lastFrame = this.gameBoy!.ppu_frame();
+
+                // triggers the frame event indicating that
+                // a new frame is now available for drawing
+                this.trigger("frame");
             }
         }
 
@@ -328,6 +331,10 @@ class GameboyEmulator extends Observable implements Emulator {
         // in case the restore (state) flag is set
         // then resumes the machine execution
         if (restore) this.resume();
+
+        // triggers the loaded event indicating that the
+        // emulator has finished the loading process
+        this.trigger("loaded");
     }
 
     // @todo remove this method, or at least most of it
@@ -913,8 +920,6 @@ class GameboyEmulator extends Observable implements Emulator {
         this.romData = data;
         this.romSize = data.length;
         this.cartridge = cartridge;
-
-        this.trigger("rom:loaded");
     }
 
     setLogicFrequency(value: number) {
diff --git a/examples/web/react/app.tsx b/examples/web/react/app.tsx
index 5b171ac9893576a541d1da6b55753330f47189cd..8bc482f37cae54eb4d05e9bbbfae7f2c9b037fe6 100644
--- a/examples/web/react/app.tsx
+++ b/examples/web/react/app.tsx
@@ -135,7 +135,7 @@ export const App: FC<AppProps> = ({ emulator, backgrounds = ["264653"] }) => {
                 setFullscreen(false);
             }
         });
-        emulator.bind("rom:loaded", () => {
+        emulator.bind("loaded", () => {
             const romInfo = emulator.getRomInfo();
             setRomInfo(romInfo);
         });