-ã¢ã©ã³ã»ã±ã€
Magnavox Odyssey 2ïŒVideopacïŒã³ã³ãã¥ãŒã¿ãŒã¯1978幎ã«ç»å Žããã²ãŒãã³ã°ã³ã³ãã¥ãŒã¿ãŒãšããŠäœçœ®ä»ããããŸããããããæ·±å»ãªã¢ããªã±ãŒã·ã§ã³ïŒçµã¿èŸŒã¿ã®ã¡ã³ãã¬ã³ããŒããŒãã䜿çšïŒã®å¯èœæ§ããããŸããã å²ãåœãŠãããã¡ã¢ãªéãèãããšãæ·±å»ãªã¢ããªã±ãŒã·ã§ã³ã¯ã»ãšãã©ãããŸããã§ãããå®éãVideopacãã²ãŒã ã³ã³ãœãŒã«ãšèŠãªãæ¹ãããæ£ç¢ºã§ãã
ååã«ã€ããŠã¯ãMagnavox Odyssey 2ã¯ç±³åœã§è²©å£²ãããNTSCãããªä¿¡å·ãçæããŸããïŒRFåºåçµç±ïŒã Philips Videopac G7000ïŒå¥åC52ïŒã¯ããããããšãŒãããã§PALãããªãšãšãã«è²©å£²ãããŸããã ãã®éãïŒãã¡ãããäžéšã®ã²ãŒã ã®ããã©ãŒãã³ã¹ã«åœ±é¿ããŸãïŒã«å ããŠãã³ã³ãã¥ãŒã¿ãŒã¯ãŸã£ããåãã§ãã
Videopacã¯ãããã°ã©ã ä»ãã®ã«ãŒããªããžã®åœ¢ã§ã²ãŒã ããªãªãŒã¹ãããæåã®ã²ãŒã ã³ã³ãœãŒã«ã®1ã€ã§ããã ãããã£ãŠãæè¡çã«ã¯ããã®ããã€ã¹ãéåžžã«çŠæ¬²çã§ããããšã¯é©ãããšã§ã¯ãããŸããã
CPUãšã¡ã¢ãª
ããã»ããµã¯Intel 8048ãã€ã¯ãã³ã³ãããŒã©ã§ãã ãã€ãŠã¯ããã¹ãŠã®PC XTããã³ATããŒããŒãã«ïŒç°ãªãããŒãžã§ã³ã§ïŒã€ã³ã¹ããŒã«ãããŠãããããéåžžã«æåã§ããã
8048ã«ã¯ãããªãåçŽãªåœä»€ã»ãããšããã€ãã®ã¢ãã¬ã¹æå®ã¢ãŒãããããŸãã ããŒããŒãã¢ãŒããã¯ãã£ïŒèª°ããããç¥ã£ãŠãããã©ã³ãã€ãã³ãšã¯å¯Ÿç §çïŒã
ãã¹ãŠã®ã¡ã¢ãªã¯ããœãããŠã§ã¢ROMïŒãããäžã®1kb BIOSããã³ã«ãŒããªããžå ã®æ倧8kb ROMïŒãå éšRAMïŒãã€ã¯ãã³ã³ãããŒã©ãŒèªäœã«64ãã€ãããã®ãã¡32ãã€ããã¬ãžã¹ã¿ããã³ã¹ã¿ãã¯çšã«äºçŽãããŠããïŒãããã³å€éšRAMïŒ128ãã€ãã®ã¹ã¿ãã£ãã¯RAMããããªã³ã³ãããŒã©ãŒãšåãã¢ãã¬ã¹ã«éšåçã«é 眮ãããŸãïŒã
ãã®çµæãããã°ã©ãã䜿çšã§ããRAMã®ç·éã¯160ãã€ãæªæºã§ãããããã§ããã®å šäœã䜿çšããããšã¯éåžžã«å°é£ã§ãã
åã¿ã€ãã®ã¡ã¢ãªïŒMOVPãMOVãMOVXïŒã«ã¢ã¯ã»ã¹ããããã®åå¥ã®åœä»€ããããŸãã Videopacã®8048ã®ã¯ããã¯åšæ³¢æ°ã¯ãå€ãã®å Žå5.37 MHzãšããŠç€ºãããŸãããå®éã«ã¯ïŒæ¬¡ã®æ瀺ã®æå³ã§ïŒ0.358 MHzã®ã¿ã§ãã ãã ãããã®å Žåãã»ãšãã©ã®åœä»€ã¯1ã2ãµã€ã¯ã«ã§å®äºããŸãã AãR0ãR7ã®9ã€ã®æ±çšã¬ãžã¹ã¿ããããŸãã
8048ã«ã¯ãã¿ã€ããŒã2ã€ã®I / OããŒããããã³å²ã蟌ã¿å¶åŸ¡åè·¯ããããŸãã ããŒããä»ããŠã2ã€ã®ãžã§ã€ã¹ãã£ãã¯ãšããŒããŒããããŒãªã³ã°ãããŸãã
8048ã®äžå¿«ãªæ©èœã¯ãã¡ã¢ãªã256ãã€ãã®ããŒãžïŒå¥ã®ããŒãžã«ããã¡ã¢ãªã®å Žæã«ã¢ã¯ã»ã¹ã§ããªãïŒãš2kbã®ãã³ã¯ïŒé£æ¥ãããã³ã¯ã«ã¢ã¯ã»ã¹ããã«ã¯ãSEL RBã³ãã³ãã§åãæ¿ããå¿ èŠãããïŒã«åå²ããããšã§ãã
8048-1816BE48ã®åœå ã¢ããã°ããããŸãã
ãããªãšãµãŠã³ã
ã·ã¹ãã ã®å¥ã®éèŠãªã³ã³ããŒãã³ãã¯ãIntel 8245ãããïŒå¥åNTSCã®8244ïŒã§ãã ããã¯ãVideopacå°çšã«äœæããããã¹ã¯ROMãåãããããªããŒã¹ã®ãªãŒãã£ãªã³ã³ãããŒã©ãŒã§ãïŒã€ãŸããæããã«ä»ã®ããŒãžã§ã³ããã¡ãŒã ãŠã§ã¢ã¯ãããŸããïŒã
ãããªã³ã³ãããŒã©ãŒã¯ã1980幎代ã®å®¶åºçšã³ã³ãã¥ãŒã¿ãŒã®æšæºã§ããããªãå¥åŠã§ãã ããšãã°ãã°ã©ãã£ãã¯ã¢ãŒããŸãã¯ããã¹ãã¢ãŒãã¯ãããŸããã ãµããŒããããã¹ãŠã®ãšã³ãã£ãã£ïŒã¹ãã©ã€ããæåãåè§åœ¢ãã°ãªããïŒã¯ã1ã€ãŸãã¯å¥ã®å¶éã®ããã¹ãã©ã€ãã§ãã ããã«é¢ããŠãç»é¢äžã®ç¹å®ã®å Žæã«ãã€ã³ããæç»ããããç»é¢ãããã¹ãã§åããããããããªãéåžžã®ãæäœã¯äžå¯èœã§ãã ãã®ãããç»é¢è§£å床ã«ã€ããŠæ確ã«è©±ãããšããã§ããŸããïŒ228 x 262ãªã©ã®æ°å€ã«ã€ããŠè©±ãããšã¯éåžžã«æ¡ä»¶ä»ãã§ãïŒã
å®éããã®ãããªã³ã³ãããŒã©ãŒã¯æ®éçã§ã¯ãªããå žåçãªïŒéåžžã«åçŽãªïŒã²ãŒã çšã«èšèšãããŠããŸãã 次ã®åœ¢åŒãåããŸãã
ã¹ãã©ã€ãã¯ãåŸæ¥ã®8x8ãã¯ã»ã«ã®ããŒããŠã§ã¢ã¹ãã©ã€ãã§ãã åæã«ãç»é¢äžã«4ã€ã®ã¹ãã©ã€ããååšããå ŽåããããŸãã ãããã®å 容ã座æšãè²ã¯ããããªã³ã³ãããŒã©ã®ã¬ãžã¹ã¿ã«æžã蟌ãããšã§å€æŽã§ããŸãã åã¹ãã©ã€ãã¯ã8ã€ã®ïŒæããïŒè²ã®ããããã§ãã
ãŸããã¹ãã©ã€ããååïŒïŒïŒãã¯ã»ã«ã ãã·ããããããã¹ãã©ã€ãã®å¥æ°è¡ãå¶æ°ãã¯ã»ã«ã«å¯ŸããŠååãã¯ã»ã«ãããããã§ãããå¥åŠãªïŒäŸ¿å©ã§ã¯ãããïŒæ©èœããããŸãã
æåã¯èšå·ã§ãã æåãæ°åãããã³äžéšã®æåïŒåèš63ïŒããã®ã€ã¡ãŒãžã¯ROM BIOSã«ä¿åãããŠãããå€æŽã§ããŸããã åæã«ãæ倧12æåãç»é¢ã«è¡šç€ºã§ããŸãã ã¹ãã©ã€ããšåæ§ã«ããããã¯ç»é¢äžã®ã©ãã«ã§ã衚瀺ãããŸãïŒãã¯ã»ã«åäœïŒããããããšã¯ç°ãªããäºãã«ãªãŒããŒã©ããããããšã¯ã§ããŸããã åæåã«ã¯ã8è²ïŒæããè²ïŒã䜿çšã§ããŸãã
ã·ã³ãã«ã€ã¡ãŒãžã®ååŸå ã®ã¢ãã¬ã¹ã¯ãã·ã³ãã«ã衚瀺ãããY座æšãšã·ã³ãã«ã³ãŒãïŒïŒïŒã«ãã£ãŠç°ãªããŸãã ãããã£ãŠãæåãåºåããã«ã¯ãå·§åŠãªåŒã䜿çšããŠãã®ã¢ãã¬ã¹ãèšç®ãããïŒç¹ã«æåã®äžéšãååŸããå ŽåïŒãBIOSã«ãŒãã³ã䜿çšããå¿ èŠããããŸãã
ã¯ã¯ãã -4åã«çµåããããã£ã©ã¯ã¿ãŒã®ã°ã«ãŒãã
ã°ãªãã -9 x 8ã»ã°ã¡ã³ãã®ã°ãªããã è¿·è·¯ãåºãé段ãªã©ã衚瀺ããããã«äœ¿çšãããŸãã ã°ãªããã®ä»£ããã«ãœãªãããããã¯ã衚瀺ã§ããã¢ãŒãããããŸã-ããšãã°ããã§ã¹ç€ãã·ãã¥ã¬ãŒãããããã«ã ã°ãªããå šäœã¯åãè²ã§ãã ã€ãŸã ãã¹ãŠã®ã°ãªããã«ã8è²ïŒæãïŒã®1ã€ãèšå®ãããŸãã
ã°ãªããã¯èæ¯ïŒèæ¯ã®äžã«ããã8è²ã®ããããïŒãã·ã³ãã«ã¯ã°ãªããã®äžã«è¡šç€ºãããã¹ãã©ã€ãã¯åæ¯ã«è¡šç€ºãããŸãã
ãªããžã§ã¯ãã®çžäºã®è¡çªã®äºå®ã远跡ããããšãå¯èœã§ãïŒç¹å®ã®ãªããžã§ã¯ãã瀺ãããšãªãããªããžã§ã¯ãã®ã¿ã€ãããšã«1ãããã®ãã©ã°ïŒã
ããã«ããããªã³ã³ãããŒã©ãŒã§ã¯ãããã€ãã®å¶éããããŸããããã¬ãŒã ã ãã§ãªãã©ã€ã³ããšã«ããŒã ã®äœçœ®ã远跡ã§ããŸãã æãåçŽãªå Žåãããã¯ãé©åãªã¿ã€ãã³ã°ã§èæ¯è²ãå€æŽããããšã«ãããæ°Žå¹³ã¹ãã©ã€ãïŒããšãã°ãå°çãšç©ºïŒãæãããã«äœ¿çšãããŸãã
ãããªã«å ããŠã8245ã§ã¯ããªããã£ããµãŠã³ããçæããããšãã§ããŸãã ãããè¡ãããã«ã24ãããã®ãµã€ã¯ãªãã¯ã·ããã¬ãžã¹ã¿ãããã2ã€ã®åšæ³¢æ°ã®ããããã䜿çšããŠã¯ããã¯ãçæããéžæããŠãã€ãºçæã¢ãŒãã«åãæ¿ããããšãã§ããŸãã ãããã£ãŠãä»»æã®é³ç¬Šãçæããããšã¯äºå®äžäžå¯èœã§ãããããã€ãã®ããªãã¯ã䜿çšãããšã蚱容ã§ããè¿äŒŒãåŸãããšãã§ããŸãã
åºåé³éã¯äžè¬çã§ã16ã¬ãã«ã®ãããããèšå®ã§ããŸãã BIOSã«ãŒãã³ã䜿çšãããšãã»ãšãã©ã®ã²ãŒã ïŒããã¿ãã·ã§ãããççºïŒã§èãããããã€ãã®ãµãŠã³ããäœæã§ããŸãã
ã²ãŒã ã«ãŒããªããžã¯ã2 kbïŒéåžžïŒãã8 kbãŸã§ã®ã·ã³ãã«ãªROMãµã€ãºã§ãã ã«ãŒããªããžã«å ããŠãVideopacã«ã¯2ã€ã®åšèŸºæ©åšããããŸã-ã¹ããŒãã·ã³ã»ãµã€ã¶ãŒïŒLPCå§çž®ãã¯ãŒãä»ãROMïŒããã³ãã§ã¹ã³ã³ãã¥ãŒã¿ãŒã¢ãžã¥ãŒã«ïŒç¬èªã®z80ããã»ããµãŒä»ãïŒã
éçº
æé©ãªãšãã¥ã¬ãŒã¿ãŒã¯o2emã§ããããã¬ãŒãçµã¿èŸŒãŸããããŒãžã§ã³ããããŸãã ããã¯æ¬åœã«éåžžã«ãŸãšããªãšãã¥ã¬ãŒã¿ã§ãããããã§ãããªãåçŽãªã³ãŒããæ©èœããããå®éã®Videopacã§é»ãç»é¢ãŸãã¯ééã£ãè²ãäžããç¶æ³ã¯éåžžã«å žåçã§ãã 1816BE48ãšãã¥ã¬ãŒã¿ïŒãSCM-DCA Laboratoryã®ã·ã³ã°ã«ããããã·ã³ãïŒãæçšã§ãã ã¢ã»ã³ãã©ãŒãšããŠã¯ãASïŒASWïŒã䜿çšããã®ãæé©ã§ãã
次ã®ããã«ãã«ãããŠå®è¡ããŸãã
asw.exe -L -x %1.a48 p2bin.exe %1.p %1.bin -r 1024-3071 o2em.exe %1.bin -euro
å®éã®ããã€ã¹ã§ã³ãŒãã確èªããããã«ã Mateos Videopac Multigame CartridgeãšMateos Burner / Dumperãè³Œå ¥ããŸããïŒã€ãŸããUSBããŒããåããROMãšãã¥ã¬ãŒã¿ãŒãšããã°ã©ããŒïŒã
ãŸããã³ã³ããžãããŸãã¯RGBåºåãäœæããŠVideopacãå€æŽããããšãçã«ããªã£ãŠããŸãïŒã€ã³ã¿ãŒãããäžã«ã¯å€ãã®ã¹ããŒã ããããŸãïŒã æšæºã®RFãšæ¯èŒããŠãããã¯ããè¯ãç»åãšããæ£ç¢ºã§é®®æãªè²ãæäŸããŸãã
ã³ã³ãã¥ãŒã¿ãŒã®é»æºãå ¥ãããšïŒåäœäžã®ã«ãŒããªããžãæ¿å ¥ãããŠããå ŽåïŒãç»é¢ã«ãã²ãŒã ãéžæããŠãã ããããšããã«ã©ãŒã¡ãã»ãŒãžã衚瀺ãããŸãïŒã«ãŒããªããžããªãå Žåãç»é¢ã«ã¯ãã¿ã衚瀺ãããŸãïŒã
ããŒãæŒããšãã¢ãã¬ã¹0400hïŒã«ãŒããªããžROMã®æåã®ã¢ãã¬ã¹ïŒã«ç§»è¡ããŸãã
å žåçãªããã°ã©ã ã¯æ¬¡ã®ãšããã§ãã
; Hello World for Philips Videopac (Magnavox Odyssey 2), 8048 CPU ; by Frog ( https://github.com/petersobolev ) cpu 8048 org 400h include "g7000.h" ; Videopac ; jmp selectgame ; RESET. VDC, . "SELECT GAME" . 0408h, .. jmp start ( A). jmp irq ; jmp timer ; jmp vsyncirq ; jmp start ; selectgame jmp soundirq ; timer: ret ; start: call gfxoff ; VDC mov r0,#010h ; VDC ( 12) mov r3,#40 ; x mov r4,#100 ; y mov r1,#hellostr & 0ffh ; ( 255 ) mov r2,#11 ; 11 nextchar: mov a,r1 movp a,@a ; A r1 mov r5,a inc r1 ; mov r6,#0eh ; call printchar ; ( r0 r3) djnz r2,nextchar call gfxon ; , VDC loop: jmp loop ; ; 'HELLO WORLD' (ASCII ) hellostr: db 01dh, 012h, 00eh, 00eh, 017h, 00ch, 011h, 017h, 013h, 00eh, 01ah
ã¢ããªã±ãŒã·ã§ã³-Intro Rash
Videopacãå匷ããçµæã«ãããšãç§ã¯ïŒ ã«ãªã¹ã³ã³ã¹ãã©ã¯ã·ã§ã³ã®ã³ã³ããã£ã·ã§ã³ã®ããã«ïŒ256ãã€ãã®ã€ã³ããïŒ ãã㪠ã ãœãŒã¹ ïŒãæžããŸããã
3ã€ã®ã¿ã€ãã®ã°ã©ãã£ãã¯ããªããã£ãã䜿çšãããŸãïŒãããªã³ã³ãããŒã©ãŒã«å®è£ ããã4ã€ã®i8245ã®ãã¡ïŒ-ã°ãªãããã¹ãã©ã€ããããã³æåã ã¯ã¯ããïŒæåã®çš®é¡ãè¡šãïŒã®ã¿ã䜿çšãããŸããã
äžããäžã«èœã¡ãç·æ§ã¯ãã¹ãã©ã€ãã§ã¯ãªãã8x8ãµã€ãºã®ã·ã³ãã«ïŒæåïŒã§ãã ãã ãã8245ã§ã¯ãæåãšã¹ãã©ã€ãã¯é¢é£ããæŠå¿µã§ãã åæã«è¡šç€ºãããæåã®æ倧蚱容æ°ã§ãã12åã䜿çšãããŸãã ãããã¯ãã¹ãŠãæšæºã®æåãžã§ãã¬ãŒã¿ïŒç·æ§ã®èšå·ããããŸãïŒããååŸãããå°ãªããšã24ãã€ããç¯çŽããŸãã i8048ã¢ãŒããã¯ãã£ãšVideopacã«ãŒããªããžåœ¢åŒã¯ã³ãŒãã®ã³ã³ãã¯ãåã«ã¯ãŸã£ããå¯äžããªããããããã¯éèŠãªãã€ã³ãã§ãã ç¹ã«ãå€æ°ã®ã¬ãžã¹ã¿ïŒaãr0ãr7ïŒã«ããããããã䜿çšã§ããã®ã¯äžéšïŒaãr0ãr1ïŒã®ã¿ã§ãããããã¬ãžã¹ã¿ããã¬ãžã¹ã¿ãžããŒã¿ãé§åãããäœåãªãåœä»€ãããªãçæãããŸãã
ãªã¬ã³ãžè²ã®æ£æ¹åœ¢ãå€æŽããèæ¯ã¯ãã°ãªãããä»ããŠå®è£ ãããŸãã ããã¯ããŒããŠã§ã¢ã§çæããã9x8ã°ãªããïŒç¹å¥ãªããã§ã¹ããã£ãŒã«ãã¢ãŒãïŒã§ãããã¢ã«ãŽãªãºã ã«ãã£ãŠã¯ãç¹å®ã®ã»ã°ã¡ã³ãããªã³ã«ãªããŸãã ã°ãªããã®åªå 床ã¯åžžã«æå°ã§ãããããã»ãšãã©ã®äººãã°ãªãããé£ã³ãŸããã
äžéã ãå æ°ãªåç«ã¯ã2ã€ã®ã¹ãã©ã€ãïŒãããã8x8ïŒãè¡šããŠããŸãã åæã«ã移åäžã®ã¹ãã©ã€ãã®ããŒã¿ã¯å®æçã«ä»ã®ããŒã¿ïŒ2ãã¬ãŒã ã®ã¿ïŒã«å€æŽããã移åãã足ãã·ãã¥ã¬ãŒãããŸãã
æåãšã¹ãã©ã€ãã®è¡çªã¯ãããªã³ã³ãããŒã©ãŒã«ãã£ãŠèšé²ãããç¹å®ã®ã¢ã«ãŽãªãºã ã«åŸã£ãŠãç«ã®ã¹ãã©ã€ãã®è²ãå€ãããç¹å¥ãªãããããªã»ãããããããç¹å¥ãªããããã·ãããããŠãã¹ãã©ã€ãã®å¶æ°è¡ãå¥æ°è¡ã«å¯ŸããŠåãã¯ã»ã«ã ãã·ããããŸãã
è¡çªé³ãšããŠãBIOSã«ãŒãã³ã§å©çšå¯èœãªé³ã®1ã€ã䜿çšãããŸãïŒããã«ãããããã«æ°ãã€ãç¯çŽãããŸãïŒã
ããã«
ã²ãŒã ã«å ããŠãVideopacã«ã¯ããã«ããã€ãã®æ¬æ Œçãªã¢ããªã±ãŒã·ã§ã³ããããŸãããã¿ã€ãã«ãå®è¡äžã®è¡ã®åœ¢ã§è¡šç€ºããããã°ã©ã ãšãããã°ã©ãã³ã°ãæããããã®ããã°ã©ã ã§ãã
ã«ãŒããªããžã¯ãã³ã³ãã¥ãŒã¿ãŒããã°ã©ããŒããšåŒã°ãããã·ã³ã³ãŒãã§ïŒã€ãŸããã¢ã»ã³ãã©ãŒã§ããïŒããã°ã©ã ãå ¥åããŠå®è¡ã§ããŸãã ã«ãŒããªããžã«ã¯ãã¢ãŒããã¯ãã£ãšæé 8048ã説æããæ¬ãå«ãŸããŠããŸããã
ããã¯ã²ãŒã ïŒïŒïŒã³ã³ãœãŒã«ã®è³Œå ¥è åãã«èšèšãããå®å šãªåçšè£œåã§ããããšãæãåºãããŠãã ããã
ãããªã§ããããã©ã®ããã«æ©èœããããèŠãããšãã§ããŸãã
åç §è³æ
- ROMãšãã¥ã¬ãŒã¿
- ã¢ã»ã³ãã©ãŒASW
- Videopacãã©ãŒã©ã
- å¥ã®Videopacãã©ãŒã©ã
- Intel 8244ç¹èš±
- Videopacãšãã¥ã¬ãŒã¿ãŒïŒo2emïŒ
- ãšãã¥ã¬ãŒã¿ãŒ8048
- Videopac BIOSãœãŒã¹
- ã²ãŒã ïŒãã©ãŠã¶ã§èµ·åå¯èœïŒ
- ããã°ã©ãã³ã°ã®ãã¥ãŒããªã¢ã«
- Videopacã¹ããŒã
- 1ã€ã®ã¢ãŒã«ã€ãå ã®ç°ãªãããã¥ã¡ã³ã
ããã§ã¯ãããŸããŸãªã¬ãããªãã©ãããã©ãŒã ã§ã®ç§ã®äœåãèŠãããšãã§ããŸãããŸããGitHubã®ãœãŒã¹ãã芧ãã ããã
ps VideontãããªåºåãRFããã³ã³ããžããã«äœãçŽããtnt23ã«æè¬ããŸãã