Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > C64 Coding > what is your RAM init pattern?
2016-04-27 19:49
chatGPZ

Registered: Dec 2001
Posts: 11386
what is your RAM init pattern?

since i stumbled about yet another case of some ancient demo that relies on uninitialized RAM - and which would only work if you change the default VICE uses currently - i think its about time to collect some hard data about this phenomenon and perhaps at the end add proper configuration for it to VICE (or even choose a better default).

background: when you power on your C64, the RAM will not be zero, instead (about) half of the RAM cells will be 1, and the other half will be 0. this results in some kind of pattern (mostly) consisting of $00 and $ff. for example if you start VICE, then enter the monitor and look at a page of RAM it shows this:

(C:$e5d4) m c000 c0ff
>C:c000  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00   ................
>C:c010  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00   ................
>C:c020  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00   ................
>C:c030  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00   ................
>C:c040  ff ff ff ff  ff ff ff ff  ff ff ff ff  ff ff ff ff   ................
>C:c050  ff ff ff ff  ff ff ff ff  ff ff ff ff  ff ff ff ff   ................
>C:c060  ff ff ff ff  ff ff ff ff  ff ff ff ff  ff ff ff ff   ................
>C:c070  ff ff ff ff  ff ff ff ff  ff ff ff ff  ff ff ff ff   ................
>C:c080  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00   ................
>C:c090  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00   ................
>C:c0a0  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00   ................
>C:c0b0  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00   ................
>C:c0c0  ff ff ff ff  ff ff ff ff  ff ff ff ff  ff ff ff ff   ................
>C:c0d0  ff ff ff ff  ff ff ff ff  ff ff ff ff  ff ff ff ff   ................
>C:c0e0  ff ff ff ff  ff ff ff ff  ff ff ff ff  ff ff ff ff   ................
>C:c0f0  ff ff ff ff  ff ff ff ff  ff ff ff ff  ff ff ff ff   ................


this is the default pattern, which could be shortened to "64 times $00, 64 times $ff, repeat"

now i'd like to know how it looks like on your (real) C64... if you have some cartridge with ML monitor, all you need to do is power on your c64, check some memory page, and post the pattern here (you can ignore that some values wont actually be 0 or $ff - what matters is the general trend). additionally it would be extra cool if you could look into your C64 and post the type of RAM chips that it uses as well (since the pattern most likely depends on them) - they are labelled 4164 or 4464 or 41464 (please post everything written on it, the exact type and manufacturer is interesting here). Also please post the ASSY NO of the board, as the way RAM is wired up matters as well.

thanks for your help!

PS: if you are curious, Typical is the demo in question... if you can name other examples ("works in CCS64 but not in VICE is often an indicator for it), please post them too!
 
... 47 posts hidden. Click here to view all posts....
 
2016-05-06 17:44
Pitcher

Registered: Aug 2006
Posts: 61
Quote: Heres a sample, have photos if needed of full dumps, both from a cold start after being sat in the cuboard, last used 1 week+ ago.

Bread bin 1 - 1983 - assy 250407 - serial B1442003

has had some chips changed by the looks of things

C000 -

00 FF EE FF 00 00 00 EB
FF 00 FF 41 EE E2 FF 00
EE 00 FF FF FF 00 FF 00
EE 00 FF 00 FF 00 FF 00
00 FF FF FF EA A3 EF 40
EB EF FF 21 00 C0 FF E3
EF 00 FF A0 FF 00 FF 00



Bread bin 2 - 1984 - assy 250425 - serial B2399395

c000 -

FF 00 FF 00 FF 00 FF 00
FF 00 FF 00 FF 00 FF 00
FF 00 FF 00 77 00 FF 00
FF 88 75 00 FF 00 FF 00
FF 00 FF 00 FF 00 FF 00
FF 00 DF 00 FF 00 FF 00
FF 00 FF 00 FF 00 FF 00


Breadbin 1 - mn4164p
3n6-15

Breadbin 2 - mn4164p
4d1-15
2016-05-19 18:50
JackAsser

Registered: Jun 2002
Posts: 2014
Coding my own emu (don't ask why) and I just noticed that the KERNEL relies on uninitiated memory. Check this small startup dump of the KERNEL:

FCE2  A2        LDX #$FF                        A:00 X:00 Y:00 P:24 SP:FD
FCE4  78        SEI                             A:00 X:FF Y:00 P:A4 SP:FD
FCE5  9A        TXS                             A:00 X:FF Y:00 P:A4 SP:FD
FCE6  D8        CLD                             A:00 X:FF Y:00 P:A4 SP:FF
FCE7  20        JSR $FD02                       A:00 X:FF Y:00 P:A4 SP:FF
FD02  A2        LDX #$05                        A:00 X:FF Y:00 P:A4 SP:FD
FD04  BD        LDA $FD0F,X                     A:00 X:05 Y:00 P:24 SP:FD
FD07  DD        CMP $8003,X                     A:30 X:05 Y:00 P:24 SP:FD
FD0A  D0        BNE $FD0F                       A:30 X:05 Y:00 P:24 SP:FD
FD0F  60        RTS                             A:30 X:05 Y:00 P:24 SP:FD
FCEA  D0        BNE $FCEF                       A:30 X:05 Y:00 P:24 SP:FF
FCEF  8E        STX $D016                       A:30 X:05 Y:00 P:24 SP:FF
FCF2  20        JSR $FDA3                       A:30 X:05 Y:00 P:24 SP:FF
FDA3  A9        LDA #$7F                        A:30 X:05 Y:00 P:24 SP:FD
FDA5  8D        STA $DC0D                       A:7F X:05 Y:00 P:24 SP:FD
FDA8  8D        STA $DD0D                       A:7F X:05 Y:00 P:24 SP:FD
FDAB  8D        STA $DC00                       A:7F X:05 Y:00 P:24 SP:FD
FDAE  A9        LDA #$08                        A:7F X:05 Y:00 P:24 SP:FD
FDB0  8D        STA $DC0E                       A:08 X:05 Y:00 P:24 SP:FD
FDB3  8D        STA $DD0E                       A:08 X:05 Y:00 P:24 SP:FD
FDB6  8D        STA $DC0F                       A:08 X:05 Y:00 P:24 SP:FD
FDB9  8D        STA $DD0F                       A:08 X:05 Y:00 P:24 SP:FD
FDBC  A2        LDX #$00                        A:08 X:05 Y:00 P:24 SP:FD
FDBE  8E        STX $DC03                       A:08 X:00 Y:00 P:26 SP:FD
FDC1  8E        STX $DD03                       A:08 X:00 Y:00 P:26 SP:FD
FDC4  8E        STX $D418                       A:08 X:00 Y:00 P:26 SP:FD
FDC7  CA        DEX                             A:08 X:00 Y:00 P:26 SP:FD
FDC8  8E        STX $DC02                       A:08 X:FF Y:00 P:A4 SP:FD
FDCB  A9        LDA #$07                        A:08 X:FF Y:00 P:A4 SP:FD
FDCD  8D        STA $DD00                       A:07 X:FF Y:00 P:24 SP:FD
FDD0  A9        LDA #$3F                        A:07 X:FF Y:00 P:24 SP:FD
FDD2  8D        STA $DD02                       A:3F X:FF Y:00 P:24 SP:FD
FDD5  A9        LDA #$E7                        A:3F X:FF Y:00 P:24 SP:FD
FDD7  85        STA $01                         A:E7 X:FF Y:00 P:A4 SP:FD
FDD9  A9        LDA #$2F                        A:E7 X:FF Y:00 P:A4 SP:FD
FDDB  85        STA $00                         A:2F X:FF Y:00 P:24 SP:FD
FDDD  AD        LDA $02A6                       A:2F X:FF Y:00 P:24 SP:FD
FDE0  F0        BEQ $FDEC                       A:FF X:FF Y:00 P:A4 SP:FD

Right there at $FDDD!!! What the fuck? :)

Kind regards, Andreas
2016-05-19 19:03
Flavioweb

Registered: Nov 2011
Posts: 463
Code at $FDDD is executed twice during reset:
 $FF5B/65371:   Initialize screen editor

Jump from $FCFB, $FF81:

FF5B: 20 18 E5  JSR $E518     ; Initialize I/O

Jump from $FF61:

FF5E: AD 12 D0  LDA $D012     ; VIC: Raster Position
FF61: D0 FB     BNE $FF5E
FF63: AD 19 D0  LDA $D019     ; VIC: Interrupt Request Register (IRR)
FF66: 29 01     AND #$01
FF68: 8D A6 02  STA $02A6     ; Flag: TV Standard
FF6B: 4C DD FD  JMP $FDDD     ; Enable Timer

first "setup" is overwritten by the second call at $FDDD
2016-05-19 20:10
JackAsser

Registered: Jun 2002
Posts: 2014
yes, ok, still bad design. More over, when autostarting files the timing between c64 / vic may vary depending on men init. Can be good to know. :)
2016-05-19 20:35
chatGPZ

Registered: Dec 2001
Posts: 11386
please.... keep that thread free from offtopic (make a new thread, its interesting afterall :)) - but post your own RAM init pattern! we really need more data!
2016-05-19 21:42
JackAsser

Registered: Jun 2002
Posts: 2014
Quote: please.... keep that thread free from offtopic (make a new thread, its interesting afterall :)) - but post your own RAM init pattern! we really need more data!

Sorry! :)
2016-09-30 21:05
Flavioweb

Registered: Nov 2011
Posts: 463
I have a ram dump from a breadbin with ceramic ram chips:

https://dl.dropboxusercontent.com/u/93655104/CeramicRAM.zip

At powerup
0000:0000 | 00 00 00 7E  FF FF 7E 7E  FF FF 7E 7E  FF FF 7E 7E | ...~ÿÿ~~ÿÿ~~ÿÿ~~
0000:0010 | FF FF 7E 7E  FF FF 7E 7E  FF FF 7E 7E  FF FF 7E FF | ÿÿ~~ÿÿ~~ÿÿ~~ÿÿ~ÿ
0000:0020 | 83 81 00 71  00 81 00 00  81 81 00 00  81 81 00 71 | ...q...........q
0000:0030 | 83 81 00 00  89 81 00 00  81 81 00 00  81 81 00 0A | ................
0000:0040 | FF FF 7E 7E  FF FF 7E 7E  FF FF 7E 7E  FF FF 7E 7E | ÿÿ~~ÿÿ~~ÿÿ~~ÿÿ~~
0000:0050 | FF FF 7E 7F  FF FF 7F 7E  FF FF 7E 7E  FF FF 7E 7E | ÿÿ~.ÿÿ.~ÿÿ~~ÿÿ~~
0000:0060 | 81 81 00 00  81 81 00 00  81 81 00 60  81 83 00 00 | ...........`....
0000:0070 | 71 83 00 00  81 81 00 04  81 81 00 00  83 40 75 00 | q............@u.
0000:0080 | DF FF 7E 7E  FF FF 7E 7E  FF FF 7E 7E  FF FF 7E 7E | ßÿ~~ÿÿ~~ÿÿ~~ÿÿ~~
0000:0090 | FF FF 7E 7E  FF FF 7E 7E  FF FF 7E 7E  FF FF 7E FF | ÿÿ~~ÿÿ~~ÿÿ~~ÿÿ~ÿ
0000:00A0 | 8F 81 00 71  81 81 00 00  81 81 00 00  81 81 00 71 | ...q...........q
0000:00B0 | 8B 81 00 00  89 81 00 00  81 81 00 00  81 81 00 0A | ................
0000:00C0 | FF FF 7E 7E  FF FF 7E 7E  FF FF 7E 7E  FF FF 7E 7E | ÿÿ~~ÿÿ~~ÿÿ~~ÿÿ~~
0000:00D0 | FF FF 7E 7F  FF FF 7B 7E  FF FF 7E 7E  FF FF 7E 7E | ÿÿ~.ÿÿ{~ÿÿ~~ÿÿ~~
0000:00E0 | 81 81 00 00  81 81 00 00  81 81 00 74  81 83 00 00 | ...........t....
0000:00F0 | 51 83 00 00  81 81 00 04  81 81 00 00  81 01 75 00 | Q.............u.
0000:0100 | 76 7E FF FF  7E 7E FF FF  7E 7E FF FF  7E 7E FF FF | v~ÿÿ~~ÿÿ~~ÿÿ~~ÿÿ
0000:0110 | 7E 7E FF FF  7E 7E FF FF  7E 7E FF FF  7E 7E FF 7E | ~~ÿÿ~~ÿÿ~~ÿÿ~~ÿ~
0000:0120 | 06 00 81 F0  81 00 81 81  00 00 81 81  00 00 81 F0 | ...ð...........ð
0000:0130 | 02 00 81 81  08 00 81 81  00 00 81 81  00 00 81 8B | ................
0000:0140 | 7E 7E FF FF  7E 7E FF FF  7E 7E FF FF  7E 7E FF FF | ~~ÿÿ~~ÿÿ~~ÿÿ~~ÿÿ
0000:0150 | 7E 7E FF FE  7E 7E FE FF  7E 7E FF FF  7E 7E FF FF | ~~ÿþ~~þÿ~~ÿÿ~~ÿÿ
0000:0160 | 00 00 81 81  00 00 81 81  00 00 81 F1  00 02 81 81 | ...........ñ....
0000:0170 | F0 02 81 81  00 00 81 85  00 00 81 81  02 C1 F4 81 | ð............Áô.
0000:0180 | 5A 7E FF FF  7E 7E FF FF  7E 7E FF FF  7E 7E FF FF | Z~ÿÿ~~ÿÿ~~ÿÿ~~ÿÿ
0000:0190 | 7E 7E FF FF  7E 7E FF FF  7E 7E FF FF  7E 7E FF 7E | ~~ÿÿ~~ÿÿ~~ÿÿ~~ÿ~
0000:01A0 | 0A 00 81 50  00 00 81 81  00 00 81 81  00 00 81 50 | ...P...........P
0000:01B0 | 0A 00 81 81  08 00 81 81  00 00 81 81  00 00 81 8B | ................
0000:01C0 | 7E 7E FF FF  7E 7E FF FF  7E 7E FF FF  7E 7E FF FF | ~~ÿÿ~~ÿÿ~~ÿÿ~~ÿÿ
0000:01D0 | 7E 7E FF 7E  7E 7E DA FF  7E 7E FF FF  7E 7E FF FF | ~~ÿ~~~Úÿ~~ÿÿ~~ÿÿ
0000:01E0 | 00 00 81 81  00 00 81 81  00 00 81 F1  00 02 81 81 | ...........ñ....
0000:01F0 | 50 02 81 81  00 00 81 85  00 00 81 81  00 C0 F4 81 | P............Àô.


Filling ram with $FF then turned off and on after 30 secs:
0000:0000 | 00 00 00 8A  FF FF 7E 7E  FF FF 7E 7E  8B FF 7E 7E | ....ÿÿ~~ÿÿ~~.ÿ~~
0000:0010 | FF FF 7E 7E  FF FF 7E 7E  FF FF 7E 7E  FF FF 7E 8A | ÿÿ~~ÿÿ~~ÿÿ~~ÿÿ~.
0000:0020 | 81 80 0C 00  81 81 00 00  E1 81 C0 00  81 81 00 00 | ........á.À.....
0000:0030 | 81 81 00 54  81 81 00 00  81 81 00 00  41 81 00 00 | ...T........A...
0000:0040 | FF FF 7E FF  FF FF 7E 7E  FF 9F 7E FF  FF FF 7E 7E | ÿÿ~ÿÿÿ~~ÿ.~ÿÿÿ~~
0000:0050 | FF FF 7E 7E  FF FF 7E 7E  FF FF 7E 7E  EE FF 7E 7E | ÿÿ~~ÿÿ~~ÿÿ~~îÿ~~
0000:0060 | 81 81 00 80  81 81 00 00  81 81 00 00  81 81 80 74 | ...............t
0000:0070 | 81 81 00 00  81 81 00 00  81 81 00 06  83 81 00 00 | ................
0000:0080 | FF FF 3E 8F  FF FF 7E 7E  FF FF 7E 7E  8F FF 7E 7E | ÿÿ>.ÿÿ~~ÿÿ~~.ÿ~~
0000:0090 | FF FF 7E 7E  FF FF 7E 7E  FF FF 7E 7E  FF FF 7E 0B | ÿÿ~~ÿÿ~~ÿÿ~~ÿÿ~.
0000:00A0 | 81 81 0C 00  81 81 00 00  F5 81 A0 00  81 81 00 00 | ........õ. .....
0000:00B0 | 81 81 02 54  81 81 00 00  81 81 00 00  01 81 00 00 | ...T............
0000:00C0 | FF FF 7E FE  FF FF 7E 7E  FF 9F 7E FE  FF FF 7E 7E | ÿÿ~þÿÿ~~ÿ.~þÿÿ~~
0000:00D0 | FF FF 7E 7E  FF FF 7E 7E  FF FF 7E 7E  FF FF 7E 7E | ÿÿ~~ÿÿ~~ÿÿ~~ÿÿ~~
0000:00E0 | 81 81 00 00  81 81 00 00  81 81 00 00  81 81 80 74 | ...............t
0000:00F0 | 81 81 00 00  A1 81 00 00  81 81 00 0C  81 81 00 00 | ....¡...........
0000:0100 | 7E 7E BF 1A  7E 7E FF FF  7E 7E FF FF  0A 7E FF FF | ~~¿.~~ÿÿ~~ÿÿ.~ÿÿ
0000:0110 | 7E 7E FF FF  7E 7E FF FF  7E 7E FF FF  7E 7E FF 0A | ~~ÿÿ~~ÿÿ~~ÿÿ~~ÿ.
0000:0120 | 00 00 8D 81  00 00 81 81  70 00 61 81  00 00 81 81 | ........p.a.....
0000:0130 | 00 00 81 D5  00 00 81 81  00 00 81 81  D0 00 81 81 | ...Õ........Ð...
0000:0140 | 7E 7E FF 7E  7E 7E FF FF  7E 5E FF 7E  7E 7E FF FF | ~~ÿ~~~ÿÿ~^ÿ~~~ÿÿ
0000:0150 | 7E 7E FF FF  7E 7E FF FF  7E 7E FF FF  7E 7E FF FF | ~~ÿÿ~~ÿÿ~~ÿÿ~~ÿÿ
0000:0160 | 00 00 81 01  00 00 81 81  00 00 81 81  00 00 01 F5 | ...............õ
0000:0170 | 00 00 81 81  20 00 81 81  00 00 81 87  02 00 81 81 | .... ...........
0000:0180 | 7E 7E BF 0B  7E 7E FF FF  7E 7E FF FF  0A 7E FF FF | ~~¿.~~ÿÿ~~ÿÿ.~ÿÿ
0000:0190 | 7E 7E FF FF  7E 7E FF FF  7E 7E FF FF  7E 7E FF 8B | ~~ÿÿ~~ÿÿ~~ÿÿ~~ÿ.
0000:01A0 | 00 01 8D 81  00 00 81 81  50 00 41 81  00 00 81 81 | ........P.A.....
0000:01B0 | 00 00 83 D5  00 00 81 81  00 00 81 81  C0 00 81 C1 | ...Õ........À..Á
0000:01C0 | 7E 7E FF 7F  7E 7E FF DF  7E 5E FF 7F  7E 7E FF FF | ~~ÿ.~~ÿß~^ÿ.~~ÿÿ
0000:01D0 | 7E 7E FF FF  7E 7E FF FF  7E 7E FF FF  5E 7E FF FF | ~~ÿÿ~~ÿÿ~~ÿÿ^~ÿÿ
0000:01E0 | 00 00 81 81  00 00 81 81  00 00 81 81  00 00 01 F5 | ...............õ
0000:01F0 | 00 00 81 81  20 00 81 81  00 00 81 8D  00 00 81 81 | .... ...........
2016-10-03 18:00
chatGPZ

Registered: Dec 2001
Posts: 11386
thanks!
Previous - 1 | 2 | 3 | 4 | 5 | 6 - Next
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
csabanw
Metal Maniac/Dual Crew
Operator Teleksu
algorithm
El Jefe/Slackers^sidD
Dan
MWR/Visdom
McGurk/Coma
Xiny6581/Dees Produc..
Morpheus/IPC+C64.COM
E$G/HF ⭐ 7
Guests online: 117
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Mojo  (9.7)
4 Coma Light 13  (9.6)
5 Edge of Disgrace  (9.6)
6 What Is The Matrix 2  (9.6)
7 The Demo Coder  (9.6)
8 Uncensored  (9.6)
9 Comaland 100%  (9.6)
10 Wonderland XIV  (9.6)
Top onefile Demos
1 Layers  (9.6)
2 No Listen  (9.6)
3 Cubic Dream  (9.6)
4 Party Elk 2  (9.6)
5 Copper Booze  (9.6)
6 Dawnfall V1.1  (9.5)
7 Rainbow Connection  (9.5)
8 Onscreen 5k  (9.5)
9 Morph  (9.5)
10 Libertongo  (9.5)
Top Groups
1 Performers  (9.3)
2 Booze Design  (9.3)
3 Oxyron  (9.3)
4 Triad  (9.3)
5 Censor Design  (9.3)
Top Musicians
1 Rob Hubbard  (9.7)
2 Mutetus  (9.7)
3 Jeroen Tel  (9.7)
4 Linus  (9.6)
5 Stinsen  (9.6)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.075 sec.