Derby Owners Club
Japanese Archive
DOC › Preservation › What the Japanese community knew
Preservation archive · 1999–2001

What the Japanese Community Knew

Japanese players worked this game out with no ROM access, no source code, and no help from Sega. They did it by breeding thousands of horses and writing the results down. This is their work, recovered from dead fan sites and bulletin boards, translated, and checked line by line against a byte-level decode of the game's own ROM.

日本のプレイヤーが1999年から2001年にかけて解明した知識の保存記録。 原文と英訳を併記し、ROM解析による検証結果を付記しています。

Why this page exists

Most of this material lived on Yahoo! GeoCities Japan, which shut down in 2019, and on 2ch (now 5ch). Most of it is dead. What survives, survives in web archives — and archives rot too.

So this is a durable copy. Every source is named, dated and linked back to its original URL and its archive snapshot. The original Japanese is kept alongside the English, never replaced by it, because a translation is an interpretation and the source text is the evidence.

A note on whose work this is

None of the period findings here are ours. They belong to the players and site authors named in the sources table below. Our contribution is narrow: recovery, translation, and saying clearly which claims we have since been able to verify in the ROM — and which turned out to be wrong.

How to read this

A lot of what these players concluded is right. Some of it is wrong. Some was one person's guess that got quoted onward until it sounded like fact. So every substantive claim carries a status:

TagMeaning
ConfirmedWe verified it ourselves in the ROM bytes, or in a controlled live test on a cabinet.
Community claimA period Japanese source said it. We have not independently verified it. It may still be true.
DisputedSources conflict. Both sides are named. Treat as unresolved.
Single readFrom our own ROM decode, but read in one pass only. Not yet re-derived by a second, independent check.

Two rules that go with those tags

Version matters

"Derby Owners Club" is at least four different games. These Japanese sources describe DOC (1999), DOC 2000 and DOC 2000 Ver.2. Much of our ROM work is on World Edition Rev C / Rev D, with DOC '99 comparison. The Japanese "Ver.2" is not the Western "Rev D". Do not merge them.

The sources

Eleven principal sources, plus 52 archived 2ch threads (~6.2 MB). Thread IDs are unix timestamps, so the ID is itself the creation date.

SourceSiteAuthorWhenWhat it is good for
horae.dti.ne.jp/~serow/2000–01The 16-step theory, parent stat tables, training gain per value
www5.airnet.ne.jp/baanin/doc/Jun 2000Training technique, exact gauge gains, failure penalties, the running-style rule
interq.or.jp/horse/wim/Ryouichi Katayama1999–2000The food tables (44 entries), training menus, grade thresholds
sumidadoc.hoops.ne.jp/anonymous2001The nine-tier birth-comment ladder, recommended CPU pairings
town.ruru.ne.jp/kagura/many · 20,249 posts1999–2001The internals argument, special-food unlocks, the race calendar
geocities.co.jp/Playtown-Yoyo/9533/yumehanasa2001–05Per-course riding notes, the Ver.2 nerf, the national cabinet register
GUTCHIGUTCHIFeb 2000The damper's real driver — four months before anyone else
homepage1.nifty.com/casey-jr/DOC/anonymous2000–02Special coats, 400+ logged births, the folded paper memo card
www2.ocn.ne.jp/~elnavi/doc/anonymous2001Broodmare tables, time-release horses
TamTam Farmgeocities.co.jp/HeartLand-Namiki/7899/doc/Masahide Tamura2000–04The DOC2 nicks table, version-by-version parent rosters
2ch arcade boardkako.5ch.io/test/read.cgi/arc/anonymous2000–0152 threads. The inheritance law, the arguments, the card economy

Raw captures, with source URL, archive snapshot ID and retrieval date, are held in the preservation archive. A summary is not a preservation copy — the originals are kept.

The race calendar

Confirmed  Recovered from かぐらステーション (Wayback snapshot 2000-03-04) and since verified against the game itself on a DOC '99 cabinet. DOC '99 runs 19 rounds of 8 races, and every round's 8R is that round's G1. (The Western releases differ: they run to 6R.)

DOC 2000 is different. Its G1 name list is these 19 in the same order plus (Japan Cup Dirt) and (Takamatsunomiya Kinen), and its card has room for 21 G1 titles. Its calendar is verified too: 21 rounds of 8 races, each round's 8R its G1, in this order: February Stakes, Takamatsunomiya Kinen, Oka Sho, Satsuki Sho, Tenno Sho (Spring), NHK Mile Cup, Oaks, Derby, Yasuda Kinen, Takarazuka Kinen, Super Dirt Grand Prix, Sprinters Stakes, Shuka Sho, Kikuka Sho, Tenno Sho (Autumn), Queen Elizabeth II Cup, Mile Championship, Japan Cup Dirt, Japan Cup, Arima Kinen, Derby Owners Cup. The card's title bits follow the name list, not the calendar. The table below is DOC '99's.

How we know it is right

The DOC '99 player card stores G1 wins as a 19-bit field, one bit per round (DOC 2000's card widens it to 21 bits). On 2026-08-14 a horse won the round-15 G1 (マイルCS) on a live DOC '99 cabinet and bit 14 flipped on the card, exactly as the table below predicts. Two more horses' titles decode correctly against the same table. A 26-year-old fan-site page and the ROM agree.

RdG1RomajiCourseSurfaceDistanceCard bit
1February StakesEastern CityDirt1600m0
2Ōka ShōWestern HillTurf1600m1
3Satsuki ShōNorthern ParkTurf2000m2
4Tennō Shō (Spring)Central CityTurf3200m3
5NHK Mile CupEastern CityTurf1600m4
6OaksEastern CityTurf2400m5
7Japanese DerbyEastern CityTurf2400m6
8Yasuda KinenEastern CityTurf1600m7
9Takarazuka KinenWestern HillTurf2200m8
10Super Dirt Grand PrixSEGADirt2000m9
11Shūka ShōCentral CityTurf2000m10
12Tennō Shō (Autumn)Eastern CityTurf2000m11
13Kikuka ShōCentral CityTurf3000m12
14Queen Elizabeth II CupCentral CityTurf2200m13
15Mile ChampionshipCentral CityTurf1600m14
16Japan CupEastern CityTurf2400m15
17Sprinters StakesNorthern ParkTurf1200m16
18Arima KinenNorthern ParkTurf2500m17
19Derby Owners CupSEGATurf2400m18

Venue names are given in their Western forms. In the Japanese originals these are 東京 (Eastern City), 阪神 (Western Hill), 中山 (Northern Park), 京都 (Central City) and セガ (SEGA). Four of the nineteen — 桜花賞, オークス, 秋華賞, エリザベス女王杯 — are fillies' and mares' races, matching real Japanese racing; a colt cannot enter them.

The stat model

1 · Nine numbers, in two families

Confirmed  Every horse has six externals (表パラ, "front parameters") and three internals (裏パラ, "back parameters").

FamilyJapaneseThe stats
ExternalsStart · Corner · Out-of-box · Competing · Tenacious · Spurt
InternalsSpeed · Stamina · Sharp

This split was posted to 2ch on 2000-06-22 with all six externals and all three internals named correctly. Our ROM carries the same three internal names in a static string table ("Speed", "Stamina", "Sharp"), and the six externals as a contiguous six-byte block on both the horse record and the card. Six for six and three for three, from two completely independent investigations twenty-five years apart.

A caution: the fourth string in that ROM table is "Friendship". That is the hearts/bond stat, not a fourth internal.

2 · The gauges you can see: 0–63, drawn as 16 blocks

Confirmed  The externals are single bytes running 0 to 63, drawn on screen as 16 blocks of 4.

原文 — ばあにん☆, June 2000 ゲージは■1つで4ゲージ、MAX64です
English "One block = 4 gauge. MAX is 64."
原文 — Y's Lab ゲージのMAXは64(本当は0~63)
English "Gauge MAX is 64 — really 0 to 63." He makes the off-by-one explicit himself.

Our decode agrees: when training writes an external, the game clamps it to 0..63, so 63 is the real cap on the externals. On the physical card the six externals are stored as value minus one.

There is a real 60 in the game, but it is on the internals, not the gauges. Confirmed World Edition Rev C clamps each internal (speed, stamina, sharp) to 60 after every race, and none of about 780 saved cards we checked is above 60. DOC 2000's growth code has the same 60 clamp (Confirmed, read twice independently). An earlier version of this page said there was no 60-clamp on any stat byte. That was wrong: the instruction we quoted for it (mov #63,r13) belongs to the routine that writes the hearts (Relationship) byte, not to any stat. The 60 in the period build targets for the externals is a separate thing, a practical target, and no one ever explains why.

3 · The 16 steps, and what the marks mean

Confirmed  The most influential idea in the whole Japanese corpus is the 16-Step Theory (16段階理論), published by Y's Lab and posted independently to 2ch the same month. Behind each on-screen mark sits a hidden value with four levels inside it.

MarkJapaneseHidden valuePoints
◎13–163
○9–122
△5–81
×1–40

So an all-○ horse scores 12 points, and a perfect horse scores 18.

Two traps if you go reading the period sources yourself

Y's Lab's 1–16 is deliberately off by one. He says so: "strictly they are 0 to 15, but here I write them as 1 to 16 for convenience." Every other site copied his 1–16. Subtract 1 before comparing anything from these sites to a raw byte.

"Points" means two different things. 点数 on the ◎=3/○=2/△=1/×=0 scale maxes at 18. 内部点数 ("internal score") means the sum of the six 1-to-16 values and runs into the low 60s. Period sources use "points" for both — a 2001 card-sale advert offers a horse on its 内部点数 of "61", listing 13, 13, 13, 5, 8, 9.

Where this sits against the ROM. The ROM has exactly this: a separate, hidden breeding band for each external, stored 0 to 15 (shown 1 to 16), and the mark groups it four values at a time (× 1 to 4, △ 5 to 8, ○ 9 to 12, ◎ 13 to 16). It is not the gauge divided by four. The band is fixed at birth, it is what a foal inherits, and racing, training and retiring never change it (measured on World Edition; DOC 2000 Ver.2 has a mark-drop rule when a card is read to play or read as a breeding parent, see below), while the 0 to 63 gauge (the current external) moves all career. A newborn's gauge starts at exactly twice its band plus a random 0 to 3, with Start 2 lower (World Edition and DOC '99; DOC 2000 runs essentially the same breeding code as World Edition), which is why the two look linked. An earlier version of this page said we had not found a separate field and guessed the 16 steps were the gauge divided by four; that was wrong. The 16-Step Theory describes a real, separate field.

Worked example of why the tags matter

The period sites also published exact 1-to-16 values for every breeding parent. When we decoded those same parents byte-exactly from the program ROM, the published marks (◎○△×) proved 98–100% accurate — but the published numbers only 60–72%. The shape of their model was right; the digits drifted as they were copied from site to site. That is this whole archive in miniature.

Two comment ladders, and they measure different things

The game prints a comment when a foal is born, and a different one when a horse retires. They run on separate ladders, and the corpus is careless about which one it means.

Community claim   (, snapshot 2001-04-05) recovered the birth ladder whole: nine tiers, printed at birth, reading the internals.

Tier原文EnglishBand
1A horse that can compete with the world◎
2A rarely seen great vessel○
3A considerable great vessel○
4Its latent ability is splendid○
5Seems to hide considerable talent△
6Has a thoroughbred-like physique△
7Can be quite expected of△
8Can be fairly expected of×
9(no comment at all)the game says nothing×

The page's own guidance: tiers 1 to 4 return roughly a 50% record, tiers 5 to 7 will win at best half their races and may not win at all. Tier 1 was believed not to exist in practice, requiring “so much money and luck”. Tier 3 is what people actually aimed for.

The observation that resolves a standing complaint

Players kept asking why there are strong and weak . A poster answered it in 2000: the comment measures only the quantity of the internals, never their distribution. Two horses on the same internals total get the same comment even if one is 60/10/10 and the other 27/27/26.

So the birth comment tells you the sum, and nothing else. That is directly testable against a card decoder, and it is genuinely useful advice.

Community claim  The retirement ladder is a different animal: seven texts, collected by Y’s Lab and ordered worst to best. He credits win rate for raising the tier, allows that a large number of G1s may do it too, and hedges the whole thing himself: , “it is not certain, but”. Players named the top tier after its opening word, (“praise”). When a post says a horse , that is what it means.

Do not confuse the two

Nine tiers at birth, reading the internals total. Seven tiers at retirement, reading (claimed) the win rate. The seven texts themselves are not in our recovered captures, only the count, the ordering principle and the name of the top tier.

Breeding: the inheritance law

This is the single most important thing the Japanese community worked out, and it is the strongest agreement in this archive.

Derived byWhenThe rule
Japanese players, from observationJune 2000child = floor( (sire + dam) / 2 ) per stat, fraction discarded
Us, from SH-4 disassembly2026foal[stat] = (sire[stat] + dam[stat]) >> 1
Why this one matters

Confirmed  These are the same operation. A group of arcade players derived it by breeding horses and writing down results. We derived it from the foal-build routine in the ROM twenty-six years later. Neither knew the other's answer. That is as close to proof as this project gets.

原文 — 京都DOC, haigouronn-tokubetu.htm (パラメーター)=((繁殖牡馬パラメーター)+(繁殖牝馬パラメーター))÷2 ※パラメーターの計算数値は切り捨てです
English “(Parameter) = ((sire's parameter) + (dam's parameter)) ÷ 2. Note: the calculated value is rounded down.”

And one poster had the internals right before anyone — かぐらステーション post [1811], poster MA, 21 March 2000:

原文 — MA, 2000-03-21 これは両親の裏パラの平均値に+αされた状態で、その仔の裏パラが決定されている
English “The foal's internals are set at the average of the parents' internals, plus alpha.” Exactly our decode: floor average (an average over 45 loses 5), then a pedigree bonus of +1 to +3, then a rare band. March 2000. Nobody built on it.

The worked example, preserved

The 2ch post taught the rule with Sunday Silence, and it is worth reproducing because it is how players actually learned it.

StartCornerOut-of-boxCompetingTenaciousSpurt
Sunday Silence (sire)○ 10○ 10○ 9○ 9○ 9○ 10
Broodmare Z (dam)◎ 16◎ 15× 1○ 10△ 8△ 8
Average13.012.55.09.58.59.0
Foal (floored)◎ 13○ 12△ 5○ 9△ 8○ 9

Read what the poster drew from it, because that is the practical lesson. Start went ○×◎ and came out ◎; Corner went ○×◎ and came out ○ — same marks, different results, because the dam's Start was 16 and her Corner 15. Competing was 9 × 10 and came out 9: the half point is thrown away. — “what a waste.”

The consequence they built a whole scene on

Every pairing that produces a fraction leaks half a point. Breed carelessly and your line decays — stated again a year later: “so long as you breed without paying attention to the horses' parameters, it is only natural that the parameters fall.”

Two different things are averaged, and it matters which. The marks (the breeding bands) are fixed at birth: racing, training and retiring never change them (measured on World Edition; for DOC 2000 Ver.2's mark-drop rule see below), so the only way to improve marks is to breed for them, generation after generation. That is the mechanical basis of (daigasane, generational stacking), the strategy the entire Japanese scene was built around. The internals work differently: a foal starts from its parents' current internals, not their birth ones Confirmed, so racing a parent up before you breed it does improve the speed, stamina and sharp it passes on, up to a point (see the table below).

The ceiling trap

Community claim  and it follows from the arithmetic. The CPU horse (Scarecrow) is ◎◎××◎◎ — values 13, 13, 1, 1, 13, 13. Breeding to it “again and again never produces a ◎”, because 13 mated to the best available ○ (12) gives floor(25/2) = 12, still ○. A 13-grade parent is a trap: nothing available can improve it. (Those are DOC '99's values for Scarecrow. In DOC 2000 its Corner and Tenacious are 14, and 14 mated to a 12 gives 13, a ◎, so there the trap only holds for Start and Spurt.)

What carries to the foal, and what does not

ThingCarries?Status
Six breeding marks (the bands)Yes: floor average of the parents' bands, fixed at birthConfirmed
Current externals (the gauges)No. A newborn's gauge starts at exactly twice its band plus a random 0 to 3, Start 2 lower (World Edition and DOC '99; DOC 2000 runs essentially the same breeding code as World Edition)Confirmed
Three internalsYes: floor average of the parents' current internals. An average over 45 loses 5 (so 46 to 49 gives only 41 to 44), then the bloodline bonus, then a cap of 45Confirmed
SexNo. A coin flipConfirmed
Dirt / heavy-going aptitudeYes, averaged half by half: the dirt number is stored as two halves, and the foal gets the rounded-down average of each half separately (136 and 119 give 119, not 127); a parent with dirt 0 is given a random one for that breeding. 446 of 447 World Edition cabinet foals matchConfirmed
Training gainsNo. Training moves the gauges, which are not passed on, and nothing a horse does changes its marks. Racing grows the internals, and those are averagedConfirmed
Race record, earnings, G1 titlesNo — separate card fieldsConfirmed
CoatTends to follow a parent: on World Edition about two cabinet foals in three share a coat family with one of their parents (207 foals measured). Special coats follow a hidden gene: a horse needs two special copies to show one, two special parents give a special foal 5 times in 8, and the special coat is drawn fresh each time rather than copied from a parent (World Edition and DOC 2000 code). DOC '99 differs: a foal with two special copies does not roll; every second such foal since the cabinet last started up comes out special, and a DOC '99 special coat is White 4 times in 16, never ZebraConfirmed (measured and decoded)
Silks, markingsNo: separate card fieldsConfirmed
“Atari” luckNo, per one theory. Yes, per the otherDisputed

The foal rows marked Confirmed come from the World Edition foal code, which DOC 2000 shares almost word for word (the coat row's 207-foal figure is a measurement). DOC '99's foal routine is different: it has no rare band, an average over 45 does not lose 5, and its pedigree bonus and special coats work differently (see the rows above and the bloodline bonus below).

Dirt and heavy-going aptitude

Disputed  Three ways, and this is the messiest area in the whole corpus. Three accounts of what aptitude even is:

SourceWhat it claims aptitude is
2ch thread 970689556 (2000-10)One of the internals. A horse without it is “cut adrift by about 7 lengths” in a dirt G1. Build it by breeding to CPU dirt horses.
2ch thread 980626006 (2001-01)On the same 16 steps as the externals, add the parents and halve.
The game's foal code (World Edition and DOC 2000)Closest to the 2001 thread. The dirt number is stored as two halves (0 to 15 each, like the two digits of a hex number), and the foal gets the rounded-down average of each half separately: parents at 136 and 119 give 119, not 127. A parent with dirt 0 is given a random one for that breeding. 446 of 447 cabinet foals with two known parents match. (An earlier version of this row said aptitude was a hidden bitfield inherited bit by bit; that bitfield is not the dirt number.)

The 2001 thread makes the sharpest point in the corpus on the subject, and it is the part that has held up:

原文 — 2ch thread 980626006 #0522, January 2001 適性は「ある」「ない」ではなく、「高いか低いか」だ
English “Aptitude is not ‘has it’ or ‘doesn’t have it’, but ‘high or low’. Every horse has it.”

The branch rule, and why stacking CPU dirt horses works

Community claim  The most specific aptitude claim recovered (, snapshot 2005-05-10) says the rule branches on whether the parents are yours or the machine’s:

The claimed rule

Own-bred × own-bred, and CPU × CPU: take the floor of the average.
Own-bred × CPU: does not average. It adds the CPU horse’s bonus value to your horse’s aptitude.

If that is right it explains the entire period strategy in one line: own × own regresses to the mean, own × CPU ratchets upward without limit. Which is exactly what the 2000 thread reported as folklore, without knowing why.

The same page tabulates named CPU dirt horses with two separate numbers, an aptitude and a bonus:

HorseAptitudeBonusThe game’s own comment
Abukuma Poro781“world-class on dirt”
Wakaoh Raiden742“the Sunday Silence of dirt”
Lemon Palm702“does not mind heavy dirt”
Concert Boy701“a top horse of dirt racing”
Orihime701“very good on soft dirt too”
Dark Crimson701“very good on dirt”
Lobelia701“good on both soft going and dirt”
Rogita701“unbeatable in dirt races”
El Condor Pasa600(no dirt comment)

The bonus is clearly a separate authored field, not derived from the aptitude. Two horses both at 70 carry bonuses of 1 and 2, and Wakaoh Raiden at 74 has a larger bonus than Abukuma Poro at 78. If the branch rule is real, then Wakaoh Raiden and Lemon Palm are the better breeding partners even though Abukuma Poro has the higher aptitude. The decoded foal code does not support it: every foal gets the half-by-half average of its two parents' dirt numbers, whichever parents they are (a parent rated 0 is given a random rating instead), with no separate bonus added.

An inconsistency on our own side, now explained

Our arcade's Breeding Lab still treats the flat dirt number (card byte 146) as a plain floor average of the parents, and an earlier ROM reading said the flat number was not what is inherited. Neither is quite right. The game does inherit the dirt number itself, but averages its two halves separately, and that half-by-half rule fits 446 of 447 cabinet foals.

The rate is disputed too: one thread argues inheritance feels like 70 to 80% of the parent rather than half, another reports a dirt line getting weaker across generations.

The one thing everyone agrees on, and the useful part: aptitude is a graded quantity that every horse has, it is heritable, and it decides dirt races.

Training, feeding, and the damper

The menus, and what each one raises

Community claim  The structure is regular and worth memorising: each solo menu raises exactly one external by a lot, and each paired menu raises two, one a lot and one a little.

MenuRaises
Solo turfStart, large
Solo dirtTenacious, large
Solo WoodCorner, large
Solo hill Spurt, large
Paired turfCompeting large, Start small
Paired dirtOut-of-box large, Tenacious small
Paired WoodOut-of-box large, Corner small
Paired hillCompeting large, Spurt small
Pool Tenacious medium, Start small, Spurt small
Rest Corner, Out-of-box, Competing each small Disputed

Rest is genuinely unsettled, and one author contradicts himself on it. One site says rest raises three stats a little. says , almost no gauge increase, and that rest is for fatigue recovery. Then on another page the same author warns that when levelling a horse for Almighty you must take Corner to the very limit first, “because if you do not raise it to the limit, rest will push the parameter up”. We have not checked it.

The grades, and exactly what they pay

Community claim  What counts as which grade:

GradeSolo conditionPaired condition
PerfectExactly on the target timeA dead heat
Great SuccessWithin ±0.20 sWithin a head
SuccessWithin 0.8 sWithin 1 length
FailureMissed by 0.8 s or moreBeaten by more than a length
“Success???”Whip overuse, in either mode

And what each grade pays, in gauge points, for a horse at the start of its career:

GradeSoloPaired (large + small)Pool (Start + Ten. + Spurt)
Perfect119 + 2 or 31 + 3 + 3
Great Success97 + 2slightly less
Success64 + 1slightly less
“Success???”13 + 1none
Failure or worse1, and other stats drop3 + 1, and other stats dropnone

Confirmed  What the code says about whip overuse (the same in all four versions): the whip count is judged by run type. In a Cooperate (paired) run, 35 to 49 whips pay 0.7 times the base gain after a good run and 50 or more pay 0.5 times, and after a weak run they make its losses 2 times (35 to 49) or 3 times (50 or more) the base. In a Single (solo) run only more than 50 whips count (0.5 times after a good run, 0.4 times with 3 times the losses after a weak one); 35 to 50 change nothing. The Pool has no whip-count penalty.

The strongest internal corroboration in the whole archive

Aptitude changes the payout, and the two best sites agree on it independently. Y’s Lab tabulates gain against the hidden 16-step value: a solo Perfect runs 8 gauge at value 1 up to 14 gauge at value 16, monotonically. says the same thing from the other end: , aptitude gives ±3 gauge of variation.

Read Y’s table at value 9 to 11 and you get solo 11 / 9 / 6 and paired 8 to 9 (3) / 7 (2) / 4 (1). Against ’s 11 / 9 / 6 and 9+2or3 / 7+2 / 4+1. Two sites, independent measurement, agreeing to within one point.

So a better-bred horse trains faster as well as starting higher. The scheduling advice that falls out of it is sound: train the stats your horse is good at, and use food for the ones it is not.

Why your horse stops improving

Every period source noticed this and none could measure it.

原文 — 競馬エクウス, November 1999 調教による能力矯正は永遠に出来るわけではありません
English “Correcting ability through training cannot be done forever.”

A 2ch thread put it in numbers in 2000: “with nothing but Perfects it stops growing from race 10 to 12, whereas at a moderate pace it grows to race 14 to 15.”

Confirmed: the game damps training

Confirmed  The game shrinks each training gain as the six current externals add up, while a failed session still takes its full loss. In our tests, horses totalling about 227 to 245 still gained from rest and training, while horses at 263 to 281 gained nothing visible and still lost 3 points on a failure (see DOC Myths). The training table is known: full gain while the six current externals total under 220, then 0.9, 0.8, 0.7, 0.5, 0.3 and 0.2 of it in steps, and a tenth from 300 on (World Edition code, read twice independently; feeding uses a separate, gentler table, and DOC 2000's copy has not been re-checked).

The community's “budget” intuition was right in effect and wrong in cause. It is not a budget you spend — it is a tax on how strong you already are. Perfects early get you to a high total early, which is exactly why growth appears to stop.

One player called the cause correctly in February 2000. GUTCHI, writing on , warned that a high Out-of-box is — a disadvantage — “because when the Out-of-box parameter is high, the speed of parameter gain dulls sooner.” Four months before anyone else.

Failure, and using it on purpose

Community claim  Failing costs a flat amount, and the stats that drop are deliberately not the ones that menu normally raises.

MenuFailureGreat Failure“Great Failure???”
Solo−1−2 to −3−4
Paired−2−3 to −4−6
Pool−1 / −2 / −2−2 / −4 / −4not given

Paired penalties are exactly double solo penalties at every grade, mirroring paired training’s larger gains. Which stats drop:

MenuSolo dropsPaired drops
TurfOut-of-box, CompetingOut-of-box, Spurt
DirtStart, CompetingCorner, Spurt
WoodStart, SpurtStart, Competing
HillOut-of-box, TenaciousStart, Tenacious
PoolCorner, Out-of-box, Competing(same)
The trick worth knowing

Failure is a tool. Because running style is re-derived from current stats before every race, and because a failed session drops known stats by a known amount, you can deliberately fail a chosen menu to bring one stat back down and put a horse back to the style you wanted. Period players used exactly this.

There is a sting in it, though, and they never found it: Confirmed negative deltas bypass the damper entirely. Single read They also appear to be amplified ×2 or ×3. Late in a career one bad training can cost several sessions of gain.

Hearts: the mechanic nobody in period got right

The community treated hearts as a bond meter and a whip-response modifier. One poster noticed that “on a horse two or three races from debut the whip bites poorly because it has no hearts.” That is as far as it went. There are no numeric heart thresholds anywhere in the 2000-era sources. Confirmed  Hearts do count on race day, though not through the whip. For your own horse (not the computer's) they add a small speed bonus in the last part of the race, from 1000 metres out in DOC '99 races up to 2200 metres and 1200 metres out in longer ones (500 to 1300 metres out in DOC 2000 and World Edition, by distance and running style). Full hearts against empty is worth about 0.4 percent of speed there.

The single most important thing we know that they did not

Confirmed  Hearts are not cosmetic. From a horse's 15th race on they gate internal-stat growth in the once-per-race settlement. The game stores hearts as 0 to 63 points and the Relationship screen draws one heart per 4 points, so the thresholds 24, 36 and 42 are about 6, 9 and 11 displayed hearts (42, 43 and 44 all show 11 full hearts, so aim for 11 and a half or more). Two independent reads of the World Edition (Rev C) code agree on the table below.

Career racesHeartsWhat the after-race roll does
First raceany+1 to all three, on top of the roll below
1 to 14not consultedTotal under 130: +2 to one random internal, or on 1 roll in 4 +1 to all three. Total 130 or more: +1 to one, or on 1 roll in 4 +1 to stamina and sharp (speed skipped)
15 to 19above 24+1 to one random internal on about 3 races in 4
15 to 1924 or below, total over 165−1 to one random internal on about 3 races in 4
20 to 29above 36 / 36 or belowon about 1 race in 16 by the code (about 1 in 9 measured on Rev C cabinets): +1 / −1 to one internal (sometimes all three)
30 onabove 42 / 42 or belowon about 1 race in 16 by the code (about 1 in 9 measured on Rev C, 1 in 8 on Rev D): −1 to one internal or all three / −3 to one, or −2 to all three

After every race any internal above 60 is set to 60, and any below 15 gets +5. (Rev D has no 60 clamp: its growth stops each internal at 55 and switches off above a 160 total, and it moves the 30 boundary to 35.) DOC 2000 uses exactly the same after-race rules as Rev C. DOC '99 differs: racing raises each internal to at most 58, and after a race none is ever below 20.

Low hearts quietly rot a horse. Crossing a threshold flips +1 into −1, or −1 into −3. Recovery is easy: a food the horse eats gives +4, +3 or +2 points and one it refuses costs 2, 4 or 8 (how much depends on how that horse likes that food. The message wording depends on its personality: an Honest horse's words give the exact amount, and so do Imposing and Sloppy refusals, and a Coward's “weeping for joy” is +4, but a Rough horse says “loves it” for every food it eats and its “dislike it” is only -2; on Rev D the -2 and -4 refusals share one line for every personality), the reply you choose after each race moves them too (usually by between -12 and +20 points, with no race-count limit), three of the 13 spots in the paddock walk at the start of play give +4 (65 percent) or take 4 (35 percent), and during a horse's first 34 races finishing at or better than its pre-race favourite ranking adds 8, while finishing worse costs points. After 34 races, results no longer move hearts.

An honest caveat that should travel with that table

From race 20 on, the stat selector is left unmasked in the code (in all four older versions), so this ladder moves a stat in only about 6.25% of races. This looks like a Sega bug. It heavily damps the practical impact of the whole ladder, and it should be stated whenever the ladder is quoted. Saved cards show late movement about twice as often as that (about 1 race in 9 on Rev C, 1 in 8 on Rev D), and why isn't known yet.

Food

A period argument, now settled

Confirmed  Food moves the externals, not Speed, Stamina or Sharp. The game's feeding code (all four versions, read twice independently) sends a food's six numbers to Start, Corner, Out of the Box, Competing, Tenacious and Spurt, and nothing to the internals, and the arcade's own feeding logs show the same. The period tables got there first: a November 1999 player table () describes 25 DOC '99 foods by the externals they raise, and read that way the game's own food table matches all 25 (four of them to the exact number), as do two later period tables. The one code trace that once labelled the first columns Speed, Stamina and Sharp had followed the wrong byte.

The gain shrinks as the six externals add up: full value while they total under 240, then 90, 80, 70 and 60 percent in steps of ten, and half from 280 up, with at least +1 for any food number of 1 or more. A food the horse dislikes gives nothing at all. That is the period “it stops working on a strong horse” feeling, in numbers.

The shape of the Japanese food tables agrees: they have no internals column at all, and the 2ch consensus by 2001 was “the displayed meters do rise, but no are added”. So the June 2000 post crediting Big Korean Ginseng and the Mamushi Dangos with raising breeding ability is wrong: food raises neither the internals nor the breeding marks.

The foods that matter

Community claim  From the 44-entry DOC 2000 table (, page dated 2000-06-28), the strongest single feeds and how to unlock them:

FoodEffectHow to get it

Big Korean Ginseng
All six, extra-largeWin 3+ G1s of different kinds, then a Great Success in training, run back-to-back

Super Mamushi Dango
Out-of-box and Tenacious XL, other four largeWin 2 G1s of different kinds, then a Great Success back-to-back

Sugar Cube
Out-of-box XL, Competing XL, Spurt largeA Perfect in any solo training

Vegetable Salad
Spurt XL, Tenacious medium, Start smallA Perfect in any paired training

Big Pudding
Corner XL, Start large, Competing largeRun a G1, go back-to-back into race 1, and the horse boycotts training

Tochu-Tea Fodder
Corner extra-largeWin, then run back-to-back without removing the card

Big Green Apple
Corner XL, Tenacious largeGreat Success in a certain menu. Beats Garlic Fodder on Corner

Korean Ginseng
All six, smallPlace top 3 in a G1, then run back-to-back

Big Banana
All six, smallSit a G1 out, predict it, and be right

Confirmed  The game's feed-menu code agrees with the exact ones and sharpens the rest: Sugar Cube comes after a Perfect in solo training and Vegetable Salad after a Perfect in paired training. The race-result rules are now proven in the code too: Korean Ginseng comes after a top-3 finish in a G1, Tochu-Tea Fodder after a win in a race that is not a G1, Mamushi Dango after a G1 win that gives the horse its first G1 title and Super Mamushi Dango its second, and Big Korean Ginseng (instead of Korean Ginseng) when a G1 win gives it its third. After a G1 it did not win, Pudding comes if you then choose Rest and Big Pudding if the horse refuses a training session. In World Edition the bananas come from the betting game: picking the winner gives Large Banana (Big Banana here), picking the runner-up gives Banana. DOC 2000 has a quirk here: its check for a G1 the horse already holds looks at the wrong title for every G1 except the February Stakes, so these title foods can appear or fail to appear because of a different G1 (in the code; not yet seen on a cabinet).

Note the design: the best food is gated behind a campaign, not a single result. It takes a third G1 title.

Do not merge the two tables

The 1999 table is the only source giving integers rather than small/medium/large/extra-large: Korean Ginseng “all parameters +1”, large “+2”, Sugar Cube “4 each” on three stats. Units are unstated. That table describes the 1999 game, not DOC 2000.

Why a fussy horse is the good horse

In the period tables, several foods move exactly one external: carrot moves Start only, fodder () moves Corner only, cabbage moves Tenacious only, and mandarin moves Corner and Competing. Those are precision instruments.

Which makes a horse’s food dislikes a control mechanism rather than a drawback. You cannot decline to feed a horse that eats everything, so you cannot stop it drifting off level. This is the hinge the whole precision Almighty build turns on.

Beer

Confirmed  and it is a lovely piece of trivia. (nama-chū, a medium draught beer) is a real food in the ROM at ID 43, with (dark draught) at 44. Both records are fully populated and structurally identical to every other food. Their stat payload is all zeros, and they are the only foods in the game with an all-zero payload. World Edition never offers beer in the feed menu; DOC 2000 offers it rarely (see below).

Beer is special-cased at three separate code sites, writes its own reaction-state byte, and has its own dedicated animation pointer arrays. Sega built a beer that raises nothing. (Beer and the bananas do reset a value the race reads, which we believe is the horse's tiredness.)

Disputed  The Japanese sources credited it with Out-of-box and Tenacious large, with raising the internals, and with raising dirt and heavy-going aptitude by +1 (or +2 for the dark). All of that was disputed at source: two days after the aptitude claim, another poster on the same board replied that if beer raised dirt aptitude his own Seiun would have maxed long ago. Eight years later a DOC 2008 thread template still marked the beers’ effect with a question mark. The game's all-zero numbers settle it: beer raises nothing.

One poster knew something real

, the dark draught, appears in no recovered food table and in one 2ch post. And it is in the ROM. The recovered unlock condition: run a G1 as your 15th race, not back-to-back, and get a Perfect in that race’s training. Confirmed in spirit: DOC 2000 offers beer only when the horse has exactly 14 races, after a Perfect in that session’s training, and only if it holds at least one of three particular G1 titles; all three gives the dark draught.

Running style

Confirmed  This is the flagship agreement of the whole project. Running style is not a stored property of your horse (the computer racers are the exception: theirs is stored). It is re-derived from the stats before every race, from a single comparison:

Among the five externals excluding Corner, where does Start rank?

Start's rank among the 5 non-Corner externalsJapaneseRunning style
1st highestFront-runner
2nd highestStart dash (stalker)
3rd highestLast spurt (closer)
4th or 5th highestStretch-runner (deep closer)
All six equal — Corner includedAlmighty
Why this agreement is convincing

Note the asymmetry: Corner is excluded from the ranking but included in the all-equal test. That is an odd rule. Nobody would invent it twice by accident. ばあにん☆ published exactly this in June 2000; we derived the same rule from the ROM twenty-six years later, without knowing his page existed.

Two details his page carries that our decode also has: Start wins ties, and a horse whose Start is at MAX is always a front-runner unless it is Almighty — a corollary, not a separate rule, since at MAX nothing can outrank Start. His advice follows:

原文 — ばあにん☆ スタートと他のパラメータが同じ場合は、スタートが上位に判定されます。 上げすぎに注意しましょう
English “If Start and another parameter are equal, Start is judged the higher. Be careful not to raise it too far.”

The period build targets

Community claim  These are the six-stat targets the Japanese scene actually played to, on the 0 to 64 scale. Note that every one of them tops out at 60, never 64, and the author never says why.

StyleStartCornerOut-of-boxCompetingTenaciousSpurt
front-runner60608166060
stalker526032164460
closer446032603260
deep closer326040603660
Almighty484848484848

His notes are worth having. For the front-runner: do not rush Start to MAX, weight Corner over Start because Corner matters more as G1 distances lengthen. For the stalker: few people use it, but it is strong at middle distances and “invincible in the Arima Kinen” with an uncontested lead. For the closer: strongest under any conditions and therefore the most popular, so Competing matters, because the mid-race scramble and the slugging match at the post are unavoidable.

And one piece of advice from 2ch that only makes sense given the rank rule: stop about 3 dots short of your target, so that one carrot can still flip the leg type when you need it to.

Route one: the precision build

Community claim  Target: 48 in all six. This is the most sophisticated piece of play in the archive, and it is built entirely on food dislikes and deliberate failure.

StepWhat to do
1Pick the right horse first. Best is one that likes carrot, fodder and cabbage and dislikes mandarin. Second best prefers mandarin, or also dislikes cabbage. “A horse that eats everything makes Almighty hard to maintain. Avoid any other horse.”
2Raise Out-of-box, Competing and Spurt to 48 and line them up by eye.
3Raise Start, stopping just short of level. Raise Corner or Tenacious, then fine-tune with carrot.
4Use the style display as your instrument. As Start climbs past the others the displayed style flips to . That flip is the tell that the set is level.
5Tenacious next. If the horse eats cabbage, fine-tune with cabbage; if not, use deliberate partial failures.
6Corner last: raise it to the very limit, then finish with rest then fodder. If you stop short, rest pushes it over.
7To maintain: rest then food gives a reliable 1-dot adjustment. Keep the rest of the training to plain “Success” so nothing jumps.
8To repair: food drags Out-of-box, Competing and Spurt down over time, so recover by deliberately failing hill paired training, which drops Start and Tenacious.
A player confirming the rank rule without seeing a byte

Step 4 is the remarkable one. He is using the style readout as a comparator on six numbers he cannot see, and he says so explicitly. That is a practical confirmation of the rank rule, arrived at by a player with no access to anything but the screen.

Route two: banana-pickling, the brute-force Almighty

This is the technique the 2ch board settled on, and it is much simpler. Big Banana raises all six externals by a small amount at once, and a poster reporting the actual effect wrote , “all six went up by 1, lucky!”

Why a uniform +1 flattens anything at all

A uniform +1 does not by itself level a set. What makes it work is the ceiling. Every external is clamped, so once a stat reaches the cap further feeding does nothing to it while the lagging stats keep climbing. Feed Big Banana enough times and the whole set converges on the ceiling together, and equal-at-the-ceiling is the Almighty condition.

Period name for the technique: , “banana-pickling”.

How long it takes, per the board: “just keep feeding Big Banana, 20 or more times might do it” (October 2000), and “banana-pickling will take 25 to 26 races” (May 2001). The same 2001 post gives the fast alternative schedule: races 1 to 2 earn over ¥100 million, race 3 take one G1 crown (ideally with Vegetable Salad), race 4 a second, race 5 a third, race 6 Big Korean Ginseng for 4 dots.

Right about the tool, and they never learned why

The board found the Almighty condition empirically and used Big Banana as the instrument to flatten the six externals into it, without ever knowing the rule. One poster came close to saying so out loud in November 2000: , “Big Banana isn’t a back-parameter thing. Isn’t it just for making Almighty easier?”

One period oddity we cannot explain

Community claim  A MAX Almighty fed on Super Mamushi Dango and Big Korean Ginseng draws shorter odds than one built on Big Banana alone. If both horses are maxed on all six externals, the betting market is reading something the gauges do not show. Compare the separate observation that a well-fancied horse with poor visible parameters is a good sign of an atari: the odds leak the hidden state. Worth testing against our own race-entry code.

Getting a style back after you overshoot

Community claim  and it works because of the rank rule. Style is re-derived every race from current stats, and a failed training drops specific stats by a known amount. So you can put a horse back to the style you wanted. Raised Start too far and turned your closer into a front-runner? Fail a menu that drops Start. Food does the same job in one-point increments, which is why the whole precision maintenance routine is built on rest then food.

Things they found that we would never have guessed

All Community claim unless marked. This is the section that justifies the whole archive: none of it is recoverable from the ROM, because it is about how the game was played.

The ten cards Sega gave away

Handed out at the Shibuya location tests and deliberately stronger than normal horses. They sat outside the normal breeding pool, which is why the community treated them as an unfair advantage.

PtsHorseMarks16-step valuesType
14 Narita Brian◎○△◎○◎13, 9, 5, 13, 9, 13speed
13 Silence Suzuka◎○×○◎◎13, 9, 1, 9, 13, 13speed
13 Seiun Sky◎○×○◎◎15, 9, 1, 9, 13, 13speed
13 El Condor Pasa△○◎○○◎5, 9, 13, 9, 9, 13speed
13 Special Week△○◎○○◎5, 9, 13, 9, 9, 13speed
13 Abukuma Poro△○◎○○◎5, 9, 13, 9, 9, 13stamina
13 Grass Wonder○○○○○◎9, 9, 9, 9, 9, 13speed
13 Tokai Teio○○○○○◎9, 9, 9, 9, 9, 13sharp
13 Air Groove△○◎◎△◎5, 9, 13, 13, 5, 13speed
12 Taiki Shuttle◎△△○○◎13, 5, 5, 9, 9, 13speed

Disputed  on one cell, and it is a good illustration of why the marks hide things. 京都DOC gives Seiun Sky 15 in Start where Y's Lab gives 13. Both list Silence Suzuka at 13. If 京都DOC is right, then two of these cards display identically on screen — six marks the same — and are not the same horse. The display literally cannot show you the difference.

Confirmed  The ROM settles the cell, and says more. DOC 2000's game data holds these ten as a separate legend table (plus a flat 50/50/50 record believed to be a test entry), and DOC '99 carries the same table with identical contents; World Edition does not have it. Every mark published above matches that table. In it (on the 1 to 16 scale), Silence Suzuka and Seiun Sky both read 16, 9, 2, 9, 13, 13, so both sites were slightly off at Start and Out of the Box, and Taiki Shuttle reads 13, 7, 7, 9, 9, 13 rather than the published 13, 5, 5, 9, 9, 13. The other seven match the published numbers exactly. The two cards really do show six identical marks. What separates them is hidden: Silence Suzuka's stamina, speed and sharp are 43, 56 and 34 against Seiun Sky's 37, 53 and 26, and their dirt values differ too.

The cards were not entirely cut off from breeding, either. Seven of the ten (Special Week, Tokai Teio, Air Groove, Grass Wonder, Abukuma Poro, El Condor Pasa and Taiki Shuttle) also have an ordinary DOC 2000 breeding-catalog entry under the same name, which you can pick as a parent at the cabinet, each with a lower speed + stamina + sharp total than its legend record. Silence Suzuka, Seiun Sky and Narita Brian are not in DOC 2000's catalog.

The card whose value depended on never being used

Under DOC 2000 Ver.2, a horse whose marks sum to 14 points or more is knocked down a whole mark band across all six externals. Players put it at retirement; the code puts it when the card is read to play, and again (at 15 points) when a retired card is read as a breeding parent (see below):

PointsBeforeAfter
18◎◎◎◎◎◎○○○○○○
15◎◎◎○○○○○○△△△
14◎◎○○○○○○△△△△
13 and belowunaffected

Narita Brian is the only 14-point card in existence.

Found in the code

Confirmed  The rule is in the DOC 2000 program we decoded, whose breeding data matches Ver.2 (read twice independently). When a card is read to play, the game adds up the six marks (◎ = 3, ○ = 2, △ = 1, × = 0). At 14 points or more, every mark drops one step. Under 14 the marks stay, and only hidden fine values inside each band may be trimmed. The same check runs with a 15-point threshold when a retired card is read as a breeding parent, which explains the quote below: a 14-point card that is never raced on Ver.2 can still be bred at full marks. In either check, if a horse that reaches the threshold has a × mark, that mark turns into ○ while its other marks drop two steps, and the lowered marks are saved back to the card. World Edition and DOC '99 have no such rule.

原文 — 京都DOC, sinnROM.htm 一度もVer2で使用していない親馬の場合、繁殖時は◎◎○○○○で使用できます。 つまり、一度でもVer2で走らせると9点パラに落ちると言う事です。
English “A parent that has never been used on Ver.2 can still be bred at ◎◎○○○○. In other words, race it even once on Ver.2 and it drops to a 9-point horse.”

A Narita Brian that has never been raced on Ver.2 still breeds at full strength. Race it once and it is permanently an 8-point horse. (The players' quote says 9; by the scoring above, ○○△△△△ is 8.) A card whose entire value depended on never being used.

Players reported that the drop is a filter in the new ROM, not a change written to the card: take a parameter-dropped horse back to a Ver.1 cabinet and it breeds at full strength again. Players were running two incompatible rule sets off one physical card, and choosing which cabinet to insert it into. The code disagrees: the check saves the lowered marks back to the card, so the drop travels with the card (in the DOC 2000 program we decoded, whose breeding data matches Ver.2).

Do not conflate the versions

This is a Japanese Ver.1 → Ver.2 event, not the Western Rev C → Rev D event. What it establishes is narrower and more useful: Sega shipped a band-shifting nerf mid-life, rather than a change to the live cap. Players described it as a transform at retirement plus a filter on import; the code places the drop when a card is read to play or read as a breeding parent, not at retirement, and writes the lowered marks back to the card (see above). On World Edition, breeding marks are fixed at birth and retiring never changes them.

Total-54, and why the scene became a monoculture

Community claim  Y's Lab's (“Total-54 theory”) held that every stallion and broodmare inside the cabinet has its six values summing to 54 — revised to 56 after Ver.2, with 54 as a guaranteed floor.

We tested it against his own recovered tables

Across 283 usable rows: 54 and 56 really are the two most common totals, by a clear margin, and they are exactly the two figures he named. But the distribution runs from 42 to 59 — a spread of 17, not a constant.

And his revision is visible in his own data: of the rows summing to 54, 31 come from the DOC99/DOC 2000 file and only 9 from Ver.2; of those summing to 56, 35 are Ver.2 and only 2 are older. An independent broodmare table gives a mean of 52.8 across 88 mares.

Verdict: closer to a rule than his own tables show. Confirmed Read straight from the ROMs, 157 of DOC '99's 168 catalog horses total exactly 54 (the rest run 52 to 57), and 140 of DOC 2000's 168 total exactly 56 (the rest run 54 to 59). No catalog horse in either has more than four ◎. The wider spread in the recovered tables fits the copying drift described above. Treat 54 and 56 as the totals the catalogs were built to, with a few horses a point or two below and up to a couple of dozen above, topping out at 57 in DOC '99 and 59 in DOC 2000 (Sunday Silence and Brian's Time in both).

The consequence players actually felt

Repeated floor-averaging toward a fixed strong parent converges. The community lived it, and said so in March 2001:

原文 — 2ch thread 984603754 #0162 セイウンパラをきちんと育てて30代重ねる。 その馬と、他の人が同じように30代重ねた馬は、 まったく同じ能力になる
English “Train your Seiun-para properly and stack it 30 generations. That horse and another person's Seiun-para, stacked 30 generations the same way, will have exactly the same ability. You cease to feel any originality at all.”

He reports six of eight horses at one tournament were the same Seiun Sky stat spread. That is precisely what repeated floor-averaging toward a fixed parent predicts. It is field evidence for the arithmetic — and it is why the scene developed a monoculture.

“Atari” horses: two theories, and what the ROM says

(atari — a hit, as in a winning lottery ticket) was the period name for a foal that came out stronger than its inheritance implied. There were two explanations, and they cannot both be true.

TheoryClaimProblem
A — the stability bandInternals are rolled inside a per-bloodline variance range (). A high roll is an atari. “This is why there are bloodlines from which atari horses emerge easily.” No mechanism given
B — the multiplierA hidden scaling racing strength: normally 1.00–1.25, atari horses 1.50–1.75, ceiling 2.55. Not inherited. Three removes from any measurement: “from what I've heard”, quoting an unattributed post, citing “a Sega insider (a friend)”

That 2.55 is suspicious in an interesting way: it is exactly 255/100 — the ceiling of an unsigned byte read as hundredths. Either the informant had really seen the field, or it is a plausible-sounding invention.

Disputed — and the ROM settles it: closer to A, but neither exactly

Confirmed  The foal build (World Edition and DOC 2000, which share the code) rolls one random byte after the averaging and checks two narrow windows, each exactly 8 values of 256 (1 in 32):

Roll (0 to 255)ChanceEffect
92 ≤ r < 1001 in 32the real jackpot: all three true internals +5 (up to 50), while the card prints lower (one stat −12, or all three −5)
180 ≤ r < 1881 in 32cosmetic: only the printed numbers rise (one stat +12, or all three +5, and only on stats under 40); the true internals do not change
otherwiseabout 94%the ordinary result stands

So about 1 foal in 32 is a genuine jackpot, and it looks worse on the card than it is (a card printing 45/45/33 can be a true 50/50/50), while another 1 in 32 looks better than it is. The rest is pure arithmetic. There is no per-bloodline band and no persistent multiplier, and nothing after conception changes the odds. DOC '99 has no rare band at all.

But there is a real bloodline bonus — and it rewards matching

Confirmed  The game counts the externals where both parents are ◎ (13 to 16), or both are × (1 to 4). Only the sire and dam count, and the bonus raises internals, never externals.

MatchesFoal bonus
4 or 5+1 stamina, +2 speed, +2 sharp
6+3 stamina, +2 speed, +3 sharp

Then the internals are hard-capped at 45. This is the World Edition and DOC 2000 foal code. DOC '99 counts the same matches but gives +3 to all three internals at 4 or 5 matches and +6 to all three at 6 (the 45 cap still applies).

The practical rule

Breed like to like. Two parents that are both ◎, or both ×, on the same externals are rewarded once they match on four or more; a mismatched pair earns nothing. The community sensed a “favourable pairing” effect. It is real — and it is specifically about matching external profiles.

Their tool, rebuilt: the foal calculator

The period sites all taught the inheritance law by worked example. This is that arithmetic, made usable — running the rule we and they independently derived. Enter both parents on the community's 1–16 scale and it shows the foal, the marks, and where the half-points leak away.

What this does and does not model

It applies the confirmed part: the per-stat floor average. It does not roll the 1-in-32 rare band or the bloodline bonus, because those move internals, not the six externals shown here. Treat the output as the arithmetic floor your pairing guarantees.

 StartCornerOut-of-boxCompetingTenaciousSpurtTotal
Sire —
Dam —
Foal ——— ——— —

Every export horse is a real Japanese champion

Confirmed  When Sega took the game West as World Edition, it could not license the real racehorse names, so the roster was renamed. Matching the decoded DOC 2000 (Japanese) and World Edition breeding catalogs on their exact stats reveals the map: 166 of DOC 2000's 168 breeding horses line up one to one, and the plain English names are famous Japanese champions in disguise. A few:

DOC 2000 (Japan)World Edition alias
Oguri Cap (オグリキャップ)Wild Jaguar
Mejiro McQueen (メジロマックイーン)White Snake
Tokai Teio (トウカイテイオー)Helissio
Symboli Rudolf (シンボリルドルフ)Allez Milord
Special Week (スペシャルウィーク)Special Holiday
Air Groove (エアグルーヴ)Hollywood Hills

Only two of DOC 2000's breeding horses have no World Edition twin ( Wakaoh Raiden and Hishi Akebono), and some kept their romanized name (El Condor Pasa among them). The full map is decoded from the catalogs. The race-opponent roster is a separate table with its own English names; 228 of its 244 horses are byte-identical between the two games (seven were re-rated, and nine more differ only in their computer-racer class or appearance data).

What is still to come

The synthesis is now transcribed in full: the stat model and both comment ladders, the inheritance law, dirt and heavy-going aptitude, the training menus, grades, damper and failure tables, the food tables, running style and both Almighty build routes.

What remains is not transcription but testing. The open questions worth the most are the ones where the community contradicts itself or contradicts the ROM: whether rest raises stats at all, and why a Big-Banana Almighty draws longer odds than a Ginseng one with identical gauges. Each of those is answerable on a cabinet. (The dirt branch rule is answered: the decoded foal code averages every pair of parents half by half, with no branch.)

This is the Japanese wing

An English-language wing is planned, recovering the Western DOC community's own lost sites from the Wayback Machine. The method here is meant to carry over unchanged: name every source, keep the original text beside the reading of it, and mark plainly which claims survive contact with the ROM. Preservation flows both ways.