HBI-V1 programing information needed... (Development MSX Forum)MSX Resource Center MSXdev 2008 - MSX1 development bonanza!              
              
English Nederlands Español Português Russian         
 News
   Frontpage
  News archive
  News topics

 Resources
   MSX Forum
  Articles
  Reviews
  Fair reports
  Photo shoots
  Fairs and meetings
  Polls
  Links
  Search

 Software
   Downloads
  Webshop

 MRC
   Who we are
  Join our team
  Donate
  Policies
  Contact us
  Link to Us
  Statistics

 Search
 
  

  

 Login
 

Username

Password




Don't you have an account yet? Become an MSX-friend and register an account now!.


 Statistics
 

There are 122 guests and 1 MSX friend online

You are an anonymous user.
 

MSX Forum


MSX Forum

Development - HBI-V1 programing information needed...

Goto page ( Previous Page 1 | 2 | 3 | 4 Next Page )
Author

HBI-V1 programing information needed...

BiFi
msx guru
Posts: 3142
Posted: December 08 2004, 18:50   
Quote:


#4029 Digitize frame
	Input:

	None

	Explanation:
	Calls digitize routine (#4020) with following values:

	BC=1
	E=0
	Table pointed by HL: 0,3,0,0,0,0,0,1


A few weeks ago I have been doing some disassembling on the ROM image to figure out some stuff and my guess is this routine is _DCLS. I haven't done all of it yet and I know it's not very legal to disassemble the ROM, but when you want to be able to emulate it (or control it using assembly), it's quite useful to find out what routine is doing what, just due to lack of documentation.
NYYRIKKI
msx master
Posts: 1503
Posted: December 08 2004, 19:59   
Quote:


YJK (Y,J,K) RGB value to YJK?

-7 < Y < 7
-7 < J < 7
-7 < K < 7



First mystery solved. This will adjust YJK picture with RGB values. Like this:

_YJK (B,R,G)

Where each value represents amount of that (RGB) color to be increased or decreased. Example:

10 SCREEN 12
20 BLOAD"XYZ.SCC",S
30 _YJK(-7,0,0) ' Remove blue colors from picture.
40 A$=INPUT$(1)

This is propably the same routine, that can be found from #4026. HL points to table, where colors are.


HansO
msx addict
Posts: 375
Posted: December 08 2004, 20:13   
The manual contains even more information, should I scan and publish it?

NYYRIKKI
msx master
Posts: 1503
Posted: December 08 2004, 20:37   
Quote:

Quote:


#4029 Digitize frame
	Input:

	None

	Explanation:
	Calls digitize routine (#4020) with following values:

	BC=1
	E=0
	Table pointed by HL: 0,3,0,0,0,0,0,1


A few weeks ago I have been doing some disassembling on the ROM image to figure out some stuff and my guess is this routine is _DCLS. I haven't done all of it yet and I know it's not very legal to disassemble the ROM, but when you want to be able to emulate it (or control it using assembly), it's quite useful to find out what routine is doing what, just due to lack of documentation.



Ah, you must be right... Next "guess":

Table +1 contains SCREEN mode:
0 = SCREEN 12
1 = SCREEN 10/11
2 = SCREEN 8
3 = Other / Clear memory

This same value is transferred to #7FFE bit 6&7

Here is, how the table is put to #7FFC-#7FFF:

Table: A,B,C,D,E,F,G
#7FFC: %XXX***GG
#7FFD: %X**XEEFF
#7FFE: %BBCCCDDD
#7FFF: %AAAAAAAA

*=Not used bit
X=Bit used to read status from device.

As the filling of the table is started from #7FFF and there is 1 as a last byte in DCLS, I would guess, that bits 0/1 are used to execute command.


NYYRIKKI
msx master
Posts: 1503
Posted: December 08 2004, 20:45   
@Bifi: At least in this part of Europe, reverce engineering is fully legal.
@HansO: Can you see, does the manual contain any information about using the cartridge with ML? Also information about CALL FMD could be usefull...

HansO
msx addict
Posts: 375
Posted: December 08 2004, 21:14   
No information at all in the manual about ML interface

FMD is not in the documentation, MD is (Manual Digitize).

The manual is a typical userguide: about connecting, about how to use the programs on the delivered floppy, the builtin DG program and the Basic statements. Nothing more technical, no circuit diagram, no description of the inner part of the ROM alas.
A pity, because this device is the best piece of MSX hardware I have seen to let a MSX2+ be usefull! The resulting pictures were for long the only way for me to digitize video pictures in high quality. A pity that the device is NTSC limited. The PAL mod did make it show colors on European video images, but the bottom part falls off (in NTSC 480 lines, in PAL 625). The knowledge how this PAL mod is done is lost I think. As is access to a service manual.

NYYRIKKI
msx master
Posts: 1503
Posted: December 08 2004, 21:41   

The worst thing in this device is, that you can't control the picture contrast or brightness. (well, you have the switch, but...)

I'm starting to think, that the bottom part problem is more limited by the software than hardware. This digitizer has 64KB of memory, but only 53K (212 lines) is copied to VRAM. Rest of the data (44 lines) is usually not read or copied over the ROM. If you can capture also this part of the picture, you still miss 56 lines, but that is only double of the amount you normally miss with NTSC picture. (I talk here about non interlaced picture)

I hope that someone could try, is the rest of the picture also available to use...


NYYRIKKI
msx master
Posts: 1503
Posted: December 08 2004, 21:49   
Quote:


Table: A,B,C,D,E,F,G
#7FFC: %XXX***GG
#7FFD: %X**XEEFF
#7FFE: %BBCCCDDD
#7FFF: %AAAAAAAA



Last version of my guess of writeable data:
A = ??? (Picture offset, I hope )
B = Screen mode (See earlyer post)
C = Y-Block size (Note: swapped with X)
D = X-Block size
E = Y-Start block
F = X-Start block
G = Command (01 = Execute 00 = Terminate?)

BiFi
msx guru
Posts: 3142
Posted: December 09 2004, 07:49   
I noticed a switch on the side of the digitizer and a line from it goes to the upper input but not the lower. I wonder what the manual says about the two seperate inputs. Is there a difference between them? I found out the switch is some brightness setting on the input. My guess is the switch is supposed to be for the upper input only, but by trial and error it also works on the lower input.

@HansO: Maybe scanning it and putting it online can help us get a better view on some things when somebody can translate it.
@NYYRIKKI: I'll continue the disassembly to find out what all commands do. And I'll do some testing with the cartridge itself.
HansO
msx addict
Posts: 375
Posted: December 09 2004, 08:55   
Quote:

I noticed a switch on the side of the digitizer and a line from it goes to the upper input but not the lower. I wonder what the manual says about the two seperate inputs. Is there a difference between them? I found out the switch is some brightness setting on the input. My guess is the switch is supposed to be for the upper input only, but by trial and error it also works on the lower input.

@HansO: Maybe scanning it and putting it online can help us get a better view on some things when somebody can translate it.
@NYYRIKKI: I'll continue the disassembly to find out what all commands do. And I'll do some testing with the cartridge itself.



The switch is intended to enable/disable the teminator resistor on the video. A video signal is supposed to be terminated by 75 ohm. But when connecting two video devices on one video signal the load is two times 75 ohm, which lowers the signal so that the image is less bright and also could have sync problems. So indeed the switch has influence on the brightness.

I will scan the manual! It has some diagrams that explain this switch.
NYYRIKKI
msx master
Posts: 1503
Posted: December 09 2004, 09:10   
Is these connectors meant for two inputs or video troughput?

BiFi
msx guru
Posts: 3142
Posted: December 09 2004, 09:32   
@NYYRIKKI: I tried both connectors and they're both input. I haven't tried 2 seperate input signals yet though.
@HansO: Thanks for the explanation and we're looking forward to the manual scans.
NYYRIKKI
msx master
Posts: 1503
Posted: December 09 2004, 11:24   

I think, they are just connected together. It's like a branch box. I would not recommend two inputs at a same time without knowledge it works that way. I must warn you, that the digitizer, that I now have was killed by input signal from video. If there are two inputs, I think, that the risk will increase.

HansO
msx addict
Posts: 375
Posted: December 09 2004, 11:41   
It is not intended to use this as two inputs, but as a daysychain. Similar to SCSI!

Connect video input to one and connect a videomonitor to the other. The terminator switch prevents the double terminating.


BiFi
msx guru
Posts: 3142
Posted: December 09 2004, 12:04   
Ah, so it can be used as a throughput connector. I must agree it's logical if you think about it... there are video inputs that don't have any display (or a second connector for it) and you want to know what you're about to digitize. Of course you can make a little program that will get a digi, but it's hardly what you want at that moment.
 
Goto page ( Previous Page 1 | 2 | 3 | 4 Next Page )
 







(c) 1994 - 2008 MSX Resource Center Foundation. MSX is a trademark of MSX Licensing Corporation.