Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Vintage 8049 and mask ROM. "0" or "1" by default?

Status
Not open for further replies.

Takeshi-san

Advanced Member level 4
Full Member level 1
Joined
Jan 9, 2011
Messages
100
Helped
23
Reputation
46
Reaction score
23
Trophy points
1,298
Location
Japan
Activity points
1,770
Hello ppl.

Recently i've got one "semi-alive" specific device, let's call it "Box A" with 8049 clone onboard. Box A is quite old, i guess made somewhere in early-mid 80's. After some tests i found out, that MPU is not working proper. Actually not working at all. It using external XTAL oscillator, EA is grounded and there is signals on SS, RD, WR, ALE, but that's all.

Few days after i've got one more the same device, let's call it "Box B" with exactly same 8049 clone part number and digital part working just perfect. I checked, what's going on the pins around 8049 and got a lot of signals, so "Box B" still feels good after years and years of using.

To be sure that 8049 in "Box A" not affected by broken periferial i desoldered chip and made simple starting circuit. Result is the same - nothing on the pins, apart from SS, RD, WR, ALE. Looks like MPU "forgot" what was burned in it's ROM and running just NOPs(00h). So, the questions are

1) which code in mask ROM by default "0" or "1"? - there is no clear info in datasheet for 8049. 8749 said "0"s
2) anyone had same experience with 8048 series?
3) i am going to desolder MPU from "Box B" and read it, then burn binary into new chip. Any advices?
4) wish me some luck :) i don't want to chase third "Box C" to get some more brain

Thanks in advance

P.S. after few days googling i found video on youtube that someone reading data from 8048 clone in some sort of Korg or Roland keyboard to reprogramm fresh 8048 for broken one. That's make a sense and way to do, but i'd like to armed with some more info then just short blurry video on youtube
 

The silicon in the 8049 and the 8749 is the same, only the packaging is different. I just erased an 8749 for you and checked it's contents, all bytes were 00 and it passed a blank check in that state.

Brian.
 

Correct, 8049 and 8749 are esased 00h !. No copy protection (standard) so you can read the device and program it into an new 8749 !. Since its not flash memory you will not have a second chance :)..
 
2 PaulHolland thank you very much for confirmation about 8049. That makes sense now - MPU just running NOPs. And, yeah, i remember - it's not my lovely PICs, so measure twice, cut once
 

One more question - can i use same 8 lines to send addr/read data without any extra IC's just by switching direction of PORTB?
i will use 4bit register to latch high 4bit ADDR from low 4bit PORTB, then send low 8bit ADDR from PORTB
ADDR is latched, so "RESET MPU"->high, 8049 will output DATA...
.... and i don't like this moment before i will switch PORTB to read DATA from 8049 both IC's will output some data(PIC still output low 8bit ADDR and 8049 output it's internal ROM DATA)- i dont want to damage 8049. I never used them before, just want to be sure
 

Yes, you can do that but it would be more efficient to utilize the hardware ALE signal to do what you want. If you use ALE to latch your 4-bit address register it saves you having to produce the signal in software and it will automatically be controlled when addressing instructions are used in your code.
Please don't ask for example code - I think the last time I used one of these devices was in 8 inch floppy drive controllers some 25 years ago!
Brian.
 

Thank you for your reply. No, no, no. I am going to read 8049 with PIC - i don't really want to build spy8049 from scratch. And you are right - this "boxes" about 25-27years old :) so again
1)i switch 8049 to programming mode, by applying 12V to EA via 10kOm resistor, pull RESET of 8049 "low"
2)setup address like 4-bit(to P2.0-P2.3) and 8-bit(DB0-DB7)
3) pull RESET of 8049 "high"
now on DB0-DB7 8049 do output data from internal ROM and i have to read it.
can i use the same lines from PIC to read this data without extra buffers? Just switch PORTB for input data and read it?
in this short time (
Code:
....
BCF PORTA,3 ;set "RESET" of 8049 "high"
MOVLW 0ffh ; critical code
TRISA          ; or not???
MOVF PORTB,0 ;read data from 8049
...
both devices will output different data
PIC - low 8-bit of address of reading data
8049 - byte of data
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top