Nebulon Posted September 15, 2018 Share Posted September 15, 2018 Aside from displaying the ColecoVision logo, what does the system ROM do? Quote Link to comment Share on other sites More sharing options...
Kiwi Posted September 15, 2018 Share Posted September 15, 2018 It contains common short routines to save cartridge space like loading graphics, making font small, bold, and Italic, and etc. Shows skill select screen. It also have sound player routines. 1 Quote Link to comment Share on other sites More sharing options...
newcoleco Posted September 17, 2018 Share Posted September 17, 2018 (edited) Perhaps this list I've compiled in 2010 from the official Coleco Industries CV programming documents will give you and new CV homebrewers an idea of what is hidden in the ColecoVision BIOS. Please note that it is not necessary to use any of this to make a CV game working properly, but it is quite powerful and useful routines that can save us time coding and space in game cartridges. ColecoVision BIOS is also refered as OS 7prime, also refered simply as OS7. * because it was the 7th revision of the BIOS when the console was released OS 7prime BIOS Jump table Note: P (at the end): special entry points for Pascal programs. 1F61 > 0300 : PLAY_SONGS 1F64 > 0488 : ACTIVATEP 1F67 > 06C7 : PUTOBJP 1F6A > 1D5A : REFLECT_VERTICAL 1F6D > 1D60 : REFLECT_HORIZONTAL 1F70 > 1D66 : ROTATE_90 1F73 > 1D6C : ENLARGE 1F76 > 114A : CONTROLLER_SCAN 1F79 > 118B : DECODER 1F7C > 1979 : GAME_OPT 1F7F > 1927 : LOAD_ASCII 1F82 > 18D4 : FILL_VRAM 1F85 > 18E9 : MODE_1 1F88 > 116A : UPDATE_SPINNER 1F8B > 1B0E : INIT_TABLEP 1F8E > 1B8C : GET_VRAMP 1F91 > 1C10 : PUT_VRAMP 1F94 > 1C5A : INIT_SPR_ORDERP 1F97 > 1C76 : WR_SPR_NM_TBLP 1F9A > 0F9A : INIT_TIMERP 1F9D > 0FB8 : FREE_SIGNALP 1FA0 > 1044 : REQUEST_SIGNALP 1FA3 > 10BF : TEST_SIGNALP 1FA6 > 1CBC : WRITE_REGISTERP 1FA9 > 1CED : WRITE_VRAMP 1FAC > 1D2A : READ_VRAMP 1FAF > 0655 : INIT_WRITERP 1FB2 > 0203 : SOUND_INITP 1FB5 > 0251 : PLAY_ITP 1FB8 > 1B08 : INIT_TABLE 1FBB > 1BA3 : GET_VRAM 1FBE > 1C27 : PUT_VRAM 1FC1 > 1C66 : INIT_SPR_ORDER 1FC4 > 1C82 : WR_SPR_NM_TBL 1FC7 > 0FAA : INIT_TIMER 1FCA > 0FC4 : FREE_SIGNAL 1FCD > 1053 : REQUEST_SIGNAL 1FD0 > 10CB : TEST_SIGNAL 1FD3 > 0F37 : TIME_MGR 1FD6 > 023B : TURN_OFF_SOUND 1FD9 > 1CCA : WRITE_REGISTER 1FDC > 1D57 : READ_REGISTER 1FDF > 1D01 : WRITE_VRAM 1FE2 > 1D3E : READ_VRAM 1FE5 > 0664 : INIT_WRITER 1FE8 > 0679 : WRITER 1FEB > 11C1 : POLLER 1FEE > 0213 : SOUND_INIT 1FF1 > 025E : PLAY_IT 1FF4 > 027F : SOUND_MAN 1FF7 > 04A3 : ACTIVATE 1FFA > 06D8 : PUTOBJ 1FFD > 003B : RAND_GEN OS 7prime BIOS Symbols 0069 AMERICA 60 = NTSC, 50 = PAL 006A ASCII_TABLE Pointer to uppercase ASCII pattern 006C NUMBER_TABLE Pointer to numbers 0-9 pattern 00FC FREQ_SWEEP Frequency sweep 012F ATN_SWEEP Attenuation sweep 0190 DECLSN Decrement low nibble (in UTILITY) 019B DECMSN Decrement high nibble (in (UTILITY) 01A6 MSNTOLSN Copy high nibble to low nibble (in UTILITY) 01B1 ADD816 Add signed 8bit value A to 16bit [HL] 01D5 LEAVE_EFFECT Called by a special sound effect function when done 02EE EFXOVER (in PROCESS_DATA_AREA to get next note) 07E8 PX_TO_PTRN_POS Pixel to pattern plane position 080B PUT_FRAME Copy a block of names to VRAM 0898 GET_BKGRND Copy a block of names from VRAM to RAM 08C0 CALC_OFFSET Returns DE := offset for the coordinates (E,D) 1D43 CTRL_PORT_PTR (in READ_VRAM, equal I/O port# BF) 1D47 DATA_PORT_PTR (in READ_VRAM, equal I/O port# BE) 1D6C ENLRG It is the local name of the ENLARGE routine OS 7prime External symbols in RAM (7000-73FF) 73B9 STACK Stack pointer address 73C3 VDP_MODE_WORD Copy of the first two VDP registers 73C5 VDP_STATUS_BYTE Contents of default NMI handler 73C6 DEFER_WRITES Boolean flag to defer writes to VRAM 73C7 MUS_SPRITES Boolean flag to sprite multiplexing 73C9 RAND_NUM Pointer to pseudo random number value in ROM (game cartridge header) 8000 CARTRIDGE Cartridge starting address 8002 LOCAL_SPR_TABLE Pointer to sprite name table 8004 SPRITE_ORDER Pointer to sprite order table 8006 WORK_BUFFER Pointer to temporary storage in RAM 8008 CONTROLLER_MAP Pointer to controller memory map 800A START_GAME Pointer to game start code 800C RST_8H_RAM Reset 8 soft vector 800F RST_10H_RAM Reset 10 soft vector 8012 RST_18H_RAM Reset 18 soft vector 8015 RST_20H_RAM Reset 20 soft vector 8018 RST_28H_RAM Reset 28 soft vector 801B RST_30H_RAM Reset 30 soft vector 801E IRQ_INT_VECT Software interrupt vector (RST 38H) 8021 NMI_INT_VECT NMI soft vector 8024 GAME_NAME String of ASCII characters Edited September 17, 2018 by newcoleco 3 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.