My Rambling Thoughts

Alternate story timeline, part 4

The story continues.

4y蛊族 invades 渭国 and 北潼国. It gains 0.5 land from each.

北潼国 merges with 渭国.

渭国 is isolated from other countries. All countries lose contact with it.

On the other side, 蛊族 invades 漳国 and 郯国. It gains 0.5 land from each.
Everyone wonders why 蛊族 does not invade 晟国. Actually it does, but is repelled.
The distribution is now: 蛊族 (3.3), 渭国 (0.7?), 潼国 (0.6), 曾国 (0.9), 锦国 (0.6), 齐国 (0.63), 郯国 (0.4), 晟国 (1.9), 漳国 (0.5), 卫国 (0.2), 嘉国 (0.2).
4y 2m郯国 is hopping mad that it goes from a big country to a small country. It accuses 晟国 of working with 蛊族.
晟国 reveals its anti-蛊 tech and offers to sell it cheaply if the countries pledge to unite and attack 蛊族 first.

晟国 can launch counter-attacks a long time back, but if it does so, it will be the next target of other countries.

曾国 and 潼国, its long-time trading partners, buy it immediately.
蛊族 continues to invade 漳国. It gains 0.2 land.

郯国 takes advantage of this and invades 漳国 as well. It gains 0.2 land.

Faced with certain extinction, the remnant of 漳国 joins 晟国.

The distribution is now: 蛊族 (3.5), 渭国 (0.7?), 潼国 (0.6), 曾国 (0.9), 锦国 (0.6), 齐国 (0.63), 郯国 (0.6), 晟国 (2.0), 卫国 (0.2), 嘉国 (0.2).
4y 3m蛊族 invades 锦国 and 齐国. They quickly buy anti-蛊 tech from 晟国, so they lose 0.1 land only.

郯国 also buys the tech from 晟国.

郯国 asks 卫国 to join it. 卫国 does not want to. 郯国 renegades on its agreement with 晟国 and attacks 卫国.

卫国 requests help from 晟国.

晟国 and 异兽 from 四圣之地 attack 郯国. They gain 0.1 land and connect 卫国 to 晟国. 卫国 joins 晟国.

晟国 sets aside some land in 卫国 as "wildlife preserves".

The distribution is now: 蛊族 (3.7), 渭国 (0.7?), 潼国 (0.6), 曾国 (0.9), 锦国 (0.5), 齐国 (0.53), 郯国 (0.5), 晟国 (2.3), 嘉国 (0.2).
4y 4m郯国 is mad at 晟国 and tell other countries to attack it.

On the other hand, 晟国 says they should unite and drive out 蛊族 first.

曾国 and 潼国 agree.

晟国 arms 曾国 and 潼国 with offensive anti-蛊 tech.
晟国, 曾国 and 潼国 invade 蛊族 in a three-pronged attack. They each gain 1.0 land! They re-connect to 渭国, which is still surviving, but has only 0.3 land left.
The distribution is now: 蛊族 (1.1), 渭国 (0.3), 潼国 (1.6), 曾国 (1.9), 锦国 (0.5), 齐国 (0.53), 郯国 (0.5), 晟国 (3.3), 嘉国 (0.2)
4y 5mNow that 蛊族's threat is contained, 锦国 and 郯国 ask 晟国 to give up some of its land.

晟国 gives 0.5 land to 锦国, but refuses to give any to 郯国.

In a rage, 郯国 invades 晟国 and manages to gain 0.5 land at some cost. It is very pleased with itself.

渭国 joins 晟国. 齐国 merges back with 曾国.
The distribution is now: 蛊族 (1.1), 潼国 (1.6), 曾国 (2.43), 锦国 (1.0), 郯国 (1.0), 晟国 (2.6), 嘉国 (0.2).
晟国, 曾国 and 潼国 continue to invade 蛊族. 晟国 gains 0.1 land, the other two gain 0.3 land each.
4y 6mOnce again, 锦国 and 郯国 ask 晟国 to give up some of its land. This time, 晟国 refuses.
Before 锦国 and 郯国 can react, 晟国 and 曾国 invade 锦国 on both ends. They split the land 0.3 and 0.7.
郯国 is scared and sues for peace.
The distribution is now: 蛊族 (0.4), 潼国 (1.9), 曾国 (3.43), 郯国 (1.0), 晟国 (3.0), 嘉国 (0.2).
4y 7mThe situation lasts for a while while everyone takes the time to recover.

Status quo at this time:

蛊族 The threat of 蛊族 is contained, but not eliminated.

晟国 can continue to invade them, but holds back because it is easier to unite against a common enemy. Once 蛊族 is defeated, it will be the next target.

曾国, 潼国 and 晟国 are now the big three countries and maintain the balance of power.
曾国 曾国 is proud of its heritage. It is proud that it is still the biggest country. It is still the strongest country in terms of fighting power, but much of its lands is devastated and it is the poorest (though it won't admit so).

It has the view that whatever it wants, it can take by force.

潼国 潼国 is ambitious. About half its original lands remain in good conditions. It sees a chance to overtake 曾国.
晟国 晟国 is big and prosperous. However, it has the lowest fighting power. As such, it keeps a low-profile and hides its wealth from others. Its original lands are in good conditions, but its new lands are all devastated.

晟国 sends aid to 曾国, but is labelled as tribute. It also "leases" a few border cities at high cost — aid in disguise — for trading purposes.

This appeases 曾国 and allows it to save face.

郯国 江北然 tells 异兽 from 四圣之地 to create unrest in 郯国 so that it has no time to bother other countries. 郯国 begins to have a reputation of an anarchic place outside of major human settlements. Its population decline rapidly as people emigrate to other countries, especially to 晟国.
嘉国 嘉国 remains as an independent country because it is so poor that its neighbouring big countries are not interested in it.

晟国 sends aid to 嘉国 as well.

It is against this backdrop that 江北然 continues his adventures.

Alternate story timeline, part 3

The story continues.

3y 10m齐国 invades 孟国 and gains 0.3 land. The remainder of 孟国 merges with 北潼国.

南潼国 invades 曲国 and gains 0.2 land. The remainder of 曲国 merges with 齐国.

锦国 invades 漳国 and gains 0.2 land.

郯国 is looking in the other direction and is thinking of invading 晟国.

漳国 and 郯国 invade 晟国 together and gain 0.1 land each. 晟国 is surprisingly well-defended.

While 郯国 is attacking 晟国, 曾国 launches a surprise attack on it and gains 0.3 land. 郯国 stops its attack on 晟国 and focuses on defending its border on the other side.

The distribution is now: 蛊族 (3.3), 渭国 (0.7), 北潼国 (0.5), 南潼国 (0.6), 曾国 (0.55), 锦国 (0.45), 齐国 (0.53), 郯国 (0.8), 晟国 (1.6), 漳国 (0.5), 卫国 (0.2), 嘉国 (0.2).
All the top countries get together again and discuss their war plans. They want to focus on two fronts: 蛊族, common enemy but strong, and 晟国, who has a lot of land but is perceived to be weak.
晟国 is asked to give up some land. It declines to do so.
晟国 proposes that everyone attack 蛊族 together. The other countries say they will consider if 晟国 manages to win against 蛊族.
3y 11m晟国 invades 蛊族 and gains 0.5 land!
This makes other countries jealous.

漳国 and 郯国 invade 晟国 together. 漳国 gains 0.1 land, but 郯国 gets nothing. 郯国 is very angry because it has lost face.

卫国 is interested to join 晟国 but it is not adjacent to 晟国.
The allied countries attack 蛊族 and gain a massive 1.0 land!

They argue how to split it among themselves.

渭国 wants a big share because the success is due to its tech. It gets 0.3 land.

北潼国 and 曾国 get 0.2 each. 齐国, 漳国 and 郯国 get 0.1 each. 郯国 is angry that it gets so little. 南潼国 and 锦国 get nothing.

锦国 and 郯国 invade 蛊族 and gain 0.5 land. They split it 0.2 and 0.3. 郯国 is finally pleased with itself.
The distribution is now: 蛊族 (1.3), 渭国 (1.0), 北潼国 (0.7), 南潼国 (0.6), 曾国 (0.75), 锦国 (0.45), 齐国 (0.63), 郯国 (1.2), 晟国 (2.0), 漳国 (0.9), 卫国 (0.2), 嘉国 (0.2).
曾国 is unhappy that 郯国 is now so big. It ropes in 锦国 to invade 郯国.

They get 0.15 land each.

3y 12mThe allied countries ask 晟国 to give up some land again. 晟国 declines to do so.
漳国 and 郯国 invade 晟国 again. Like before, 漳国 gets 0.1 land and 郯国 gets nothing. This makes 郯国 very mad.

郯国 is also unhappy that 漳国 is now bigger than it.

The distribution is now: 蛊族 (1.3), 渭国 (1.0), 北潼国 (0.7), 南潼国 (0.6), 曾国 (0.9), 锦国 (0.6), 齐国 (0.63), 郯国 (0.9), 晟国 (1.9), 漳国 (1.0), 卫国 (0.2), 嘉国 (0.2).
渭国, 北潼国 and 齐国 invade 蛊族. Unexpectedly, they gain nothing.
The other countries laugh at their incompetence.

漳国, 郯国 and 锦国 invade 蛊族. They also gain nothing.

The countries suddenly realize that 渭国 tech is now ineffective.

Again, this is just the backdrop. It is a chaotic time.

Alternate story timeline, part 2

The story continues.

3y 5m嵇国 invades 饧国 to gain some land. 饧国 loses 30% of its land. 郯国 'requests' 尚国 to join it.

饧国 and 尚国 decide to join 晟国 instead.

郯国 is angry and considers whether to invade 晟国.

曾国 leaves another 10% of its land so that 蛊族 borders 潼国. 潼国 is angry at 曾国 for bringing 蛊族 to its doorstep.
蛊族 invades 嵇国 and 郯国. Other countries step in to help 郯国. After a month, 蛊族 only manages to take over 10% of 郯国. 郯国 is very proud of that, but it makes the other countries unhappy because it is due to their help. They want compensation from 郯国.

嵇国 loses another 20% of its original land. It is almost wiped out. 晟国 makes an offer for 嵇国 to join it. 嵇国 accepts.

蛊族 now shares border with 晟国.

曾国, 潼国 and 郯国 launch separate attacks on 蛊族 but fail to reclaim any land.

They decide to work together and plan a coordinated attack. Their coordinated attack fails and they suffer losses instead. They argue with one another who should pay for the losses.

3y 6m曾国 breaks up into 3 parts. Two factions take the chance to break away since the imperial faction is weakened. Each ends up with 20% of the original land.

The two countries are 锦国 and 齐国. 锦国 borders 郯国 and 齐国 borders 潼国. They are not recognized by other countries.

郯国 tells 晟国 to join it. 晟国 ignores it. This makes 郯国 angry. It decides to invade 晟国.

郯国 only manages to take over 5% of 晟国's land. This makes it lose face, so it disrupts the trade route between 晟国 and 潼国.

This makes 潼国 unhappy.

渭国 has not been invaded at all. It tells other countries it is due to its defence mechanism. It offers to sell its defence tech to them.
曾国 and 锦国 buy the defence tech from 渭国.
3y 7m蛊族 invades 郯国, 齐国 and 潼国 at the same time.

This time, 郯国 has no help from others, so it loses 25% of its land. 齐国 loses 50% of its land.

蛊族 temporarily causes 潼国 to be divided into two. The two parts become 北潼国 and 南潼国. 潼国 recovers part of the land, but it remains split into two factions. It loses 20% of its land in all.
It seems 蛊族 does not attack countries with 渭国's defence tech, so all the countries bordering 蛊族, except for 晟国, quickly buy it.
None of the top countries are aware that 蛊族 also invades 晟国, but is repelled. They think that 蛊族 does not bother with outlying countries.
3y 9m蛊族 does not attack for a long time.
All countries come together to discuss a counter-attack. They agree to pool all their forces together and launch a single attack. However, they argue where to attack and how to divide the spoils.

Now the distribution is: 蛊族 (3.3), 渭国 (0.7), 北潼国 (0.4), 南潼国 (0.4), 曾国 (0.25), 锦国 (0.25), 齐国 (0.13), 郯国 (1.0), 晟国 (1.8), 孟国 (0.4), 曲国 (0.3), 漳国 (0.6), 卫国 (0.2), 嘉国 (0.2).

Note that this just serves as the backdrop. 江北然 is mostly working behind the scenes and embarking on various adventures. That's what we are interested in. :lol:

Alternate story timeline, part 1

0 mth江北然 becomes Emperor of 晟国 and does three things:
  • Launches reforms
  • Increases 灵气 hotspots
  • Builds up its industries
6 mth蛊族 invades 晟国.
After repelling 蛊族, 江北然 places 护城大阵 in towns and cities.

He also sets up R&D centre to research new tech.

9 mth江北然 invites 异兽 from 四圣之地. He sets aside some land as "wildlife preserves".
1y晟国 invades and conquers 梁国. It catches the attention of 饧国 and 尚国.

江北然 sets aside some land in 梁国 as "wildlife preserves".

饧国 invades 晟国 but is repelled by 异兽. It signs a peace treaty. 尚国 seeks friendly relations as it is more focused on defending its borders with the top six countries.
Both 饧国 and 尚国 trade with 晟国 and benefit greatly. They are also impressed with the reforms and implement some of them as well.
2y江北然 visits 施家 and gets a goodwill token that opens up trading opportunities.
晟国 begins to trade with 潼国 and 曾国.
江北然 steps down as Emperor.
3y蛊族 invades a second time, starting from north of 祁国. No one pays it any attention.
In a month's time, 蛊族 takes over 50% of 祁国. Everyone realizes the severity of the problem, but it is still considered 祁国's problem. After all, it has 护国大阵 separating it from other countries.

Refugees from 祁国 stream into 晟国.

蛊族 continues to expand its territory. In another month's time, it takes over almost all of 祁国 and invades 嵇国 and 曾国.

More refugees stream into 晟国.

In another month's time, 蛊族 takes over 60% of 嵇国. On one side, 嵇国 used to border 祁国 and 曾国. It is now cut off from them. The other side is 饧国 and 尚国.

蛊族 takes over 30% of 曾国.

蛊族 borders 渭国 and 郯国, but has not invaded them.

3y 3mMajor sects in the top six countries gather to form an alliance.

渭国 is traditionally the weakest of the top six and wants to focus on defence — its defence is top-notch due to its focus on tech.

潼国 is not involved at all and does not want to get involved.

The situation stalemates.

Let's take a break to take a look at the countries and their sizes. The sizes and geographic locations are all made up.

If we take the original 祁国 size to be 1.0, 渭国 is 0.7, 潼国 is 1.0, 曾国 is 1.5, 嵇国 is 0.9 and 郯国 is 1.1.

曾国 is significantly bigger, but it has 四圣之地 that takes up 0.25 of its land.

饧国 is 0.6, 尚国 is 0.5 and 梁国 is 0.3. 晟国 is surprisingly big at 1.2, but usable land is only 0.4.

There are supposed to be 12 "major" countries, of which 晟国 is in the lower tier — but not in the last place. There are numerous smaller countries. 16 countries are named in the story, several only in passing. There are supposed to be 24 provinces in all.

Other countries mentioned in the story: 周国 (beside 祁国, mid-tier?), 孟国 (in central, mid-tier?), 曲国 (low-tier?), 漳国 (near 郯国, mid-tier?), 卫国 (border, low-tier) and 嘉国 (low-tier?).

周国 borders 祁国, 嵇国 and 曾国. It has size 0.5. It is conquered by 蛊族.

孟国 is supposed to be in the central plains (i.e. one of the top countries), but there is no mention of it later. (The author forgot about it.) We'll make it a mid-tier country. It borders 渭国, 曾国 and 潼国. It has size 0.4.

曲国 borders 曾国 and 潼国. It has size 0.3.

漳国 borders 嵇国, 曾国 and 郯国. It has size 0.6.

卫国 borders 曾国 and 郯国. It has size 1.0, but usable size is only 0.2.

嘉国 borders 曾国 and 潼国. It has size 0.8, but usable size is only 0.2.

Now the distribution is: 蛊族 (0 -> 1.9), 祁国 (1.0 -> 0), 渭国 (0.7), 潼国 (1.0), 曾国 (1.25 -> 0.85), 嵇国 (0.9 -> 0.4), 郯国 (1.0), 饧国 (0.6), 尚国 (0.5), 梁国 (0.3 -> 0), 晟国 (0.4 -> 0.7), 周国 (0.5 -> 0), 孟国 (0.4), 曲国 (0.3), 漳国 (0.6), 卫国 (0.2), 嘉国 (0.2).

Scenarios

Should 蛊族 have invaded at all? Scenarios:

  1. 蛊族 does not invade at all
  2. 蛊族 does a small scale invasion
  3. 蛊族 does a medium scale invasion
  4. 蛊族 does a large scale invasion

If 蛊族 does not invade at all, then the story would be how 江北然 builds up 晟国 and finally challenges the top six countries. The problem is that in peaceful times, if 晟国 improves significantly, it would be bound to catch the eyes of the top six countries.

Also, the tradition way for 晟国 to improve is to expand into the central region. This means it must have 玄圣. That is impossible (in a reasonable timeframe) without some "act-of-god" help from the author. :lol:

What is possible is for 江北然 to build up 晟国 so that it becomes as good as the top six countries. Countries rise and fall over time.

The issue of how 晟国 defends itself still remains. It cannot depend on 异兽 all the time.

But since 蛊族 has invaded once, it would invade a second time. And the invasion shakes up the status quo and plunges the world into chaos, which is very helpful in distracting the top countries from 晟国.

How big should the invasion be?

I feel the invasion in the original story was overly big. 蛊族 attacked the entire land at the same time. They would have succeeded if not for 江北然. If the invasion force were so large, they would not have been defeated so decisively in one single battle.

It is more realistic that they only manage to gain a foothold, at least initially.

In a small-scale invasion, they only gain a foothold (part of a country). In a medium-scale invasion, they manage to conquer a country. In a large-scale invasion, they manage to get a significant portion of the land.

All humans band together to resist them initially, but as the situation stalemates and time passes, sects start to act in their own interest. Some countries break up.

Balance of power for 晟国

After 江北然 became the Emperor of 晟国, the stage became bigger. Now country-to-country relations showed up.

晟国's next door neighbour is low-tier 梁国. It also shares borders with mid-tier 饧国. 尚国 probably shares border with 梁国.

In the original story, 晟国 conquered 梁国 in chapter 337. Should it have done so? What prevented 饧国 and 尚国 from conquering it?

The answer was that 江北然 found a strong backer in a top six country.

I prefer another outcome.

First, we have to consider the physical size of 晟国. It is not stated, but if we look at China, the outlying provinces are large, but infertile and sparse in population. We know 晟国 is large enough to have two provinces. After conquering 梁国, it would have three provinces. Three provinces with only five 玄宗? 饧国 and 尚国 would have conquered it without any hesitation.

Before attacking 梁国, 江北然 has to do 2 things first. One, he has to increase 灵气 hotspots. Two, he has to invite 异兽 from 四圣之地 to 晟国. Yes, 异兽 will be the defense force for 晟国.

It turns out that 四圣之地 is close to overcrowding, so some 异兽 are willing to leave it in search of another sanctuary. And land is something 晟国 has. 晟国 uses 10% of its original land and 20% of 梁国 to form "wildlife preserves".

This allows 晟国 to achieve balance of power with 饧国 and 尚国. It can then focus on internal improvements, such as building up its industries. 晟国 starts to import raw materials and export finished goods.

As a result of both increased 灵气 and trade, 晟国 becomes more prosperous. After 2+ years, everyone's cultivation has increased greatly, though none has reached 玄尊.

Then 蛊族's second invasion happen.

The top six countries are 祁国, 渭国, 潼国, 曾国, 嵇国 and 郯国.

In the original story, 祁国 was annihilated, 嵇国 was decimated and 曾国 (the strongest country) was severely weakened. 渭国 and 郯国 were weakened and 潼国 preserved most of its strength.

We'll keep to this. Originally, 潼国 preserved most of its strength due to 江北然. In the new story, it is furthest from the invasion point, so it suffers the least.

蛊族 takes over land from 祁国 (almost 100%), 嵇国 (60%) and 曾国 (30%). It shares borders with 渭国 and 郯国 but not 潼国.

The balance of power among the six countries has changed.

This happens in a matter of 3 months. And this begins the Warring States period.

What's next for the top six countries

祁国 is history. 嵇国 wants to recover its land, but it wants to form an alliance before doing so. 渭国 is traditionally the weakest of the six and wants to focus on defense. 郯国 is hesitating. 潼国 does not want to get involved. 曾国 gives up a bit of its land so that 蛊族 borders 潼国.

What is the end goal?

What is the purpose in conquering the top six countries? It is because they have dense 灵气. But if 江北然 could increase 灵气 in 晟国 (with his new secret power), is there still a need to go to the top six countries? No. Instead, 晟国 could attract people to come here instead. 晟国 would be the new center of power.

With 蛊族's proficient use of posion, posion prevention and recovery pills become very popular. Guess what's 江北然's speciality?

Reforming 晟国

江北然 has a set of reforms for 晟国. They were not explained in details, but the gist of it was to bring it to modern times. He wanted to introduce paper, paper currency, printing, paved roads, copyright and voting, for example.

IMO, the reforms should remain more basic: food, water, industry.

To solve the food problem, 江北然 found the "wonder food" potatoes. This is common in Chinese fantasy stories because it is easy to grow, can feed a large population and is non-native to China.

I'll leave potatoes out for now and just focus on irrigation, fertilisers, pest control and crop rotation. This will greatly increase food supply.

Livestock farming has to be improved to provide large amounts of meat.

Water needs to be purified. In a fantasy world, it will be done with pills. It will start with inns and eateries. When others see the benefits, they will follow.

Sanitation needs to be improved. Horses in towns/cities need poop-catchers. Main roads must be kept clean. This is the hardest to achieve — people don't change their habits in a day.

Garbage collection can be implemented. Wastewater disposal is more tricky. Sewage must be collected and treated before letting it flow into rivers.

The industries need to be jumpstarted. Need to attract level 5+ artisans and train a "new generation" of generalists. This will allow 晟国 to trade with other countries.

Artifical lighting should already exist. The next step is to lower its cost and mass produce it. Streets are lighted at night to improve safety. In this fantasy setting, they are glowing crystals that absorb the sun's energy during day time. Very convenient. :lol:

Communication. There is no instant communication tool in 晟国, but it is later revealed that some high-end families and sects in some top six countries have. Communication does not have to be instant, but it must be fast, cheap, reliable and available to the masses.

Transport. In a world where 乾坤戒指 exists, transportation of goods should be trivial, provided cultivators are willing to provide the service.

Since this is a fantasy setting, need to increase 灵气 concentration so that cultivators can improve more quickly. In such stories, it is normal to 'pop' pills to gain levels, but I feel this makes them druggies. Cultivation cannot be rushed. Also, it is important to gain practical experience.

This is 江北然's secret sauce, of course. He creates 护城大阵 that keeps 灵气 in (allowing it to build up) and pollutants out of towns/cities. This will prove very helpful later.

Pill grades in 玄龙大陆

When the story started, the author uses 天地玄黄 for items, each with 上中下品, e.g. 地级下品. There is supposed to be 绝品, 极品, 上品, 良品 and 凡品 below 天地玄黄, but he quickly discontinued the use. Basically, anything below 极品 is useless! :lol:

He uses numeric 品 for 丹, e.g. 五品 so-and-so 丹. 灵丹 is supposed to grade from 一品 to 九品. In a low-tier country like 晟国, 四品灵丹 is rare and 五品 is super rare (something 玄王 would fight. over). Level 1 to 3 is called 丹药, 4 to 7 is 灵药, 8 to 9 is 灵丹. (They are sometimes used interchangeably.) In the top 6 countries, level 8 - 9 is equivalent to 玄级上品. A level 8 炼丹大师 must be able to make this. (Ch 396)

He uses 上中下品 for 灵石, e.g. 中品灵石. He made a mistake and used 高品灵石 sometimes, there is no such thing. :-P

A 五品灵丹 costs 50 中品灵石. (Ch 113)

中品灵石 is 玄级, 上品灵石 is 地级 in the top 6 countries. (Ch 288)

After going to the top 6 countries, the grade is unified across 宝物, 灵丹 and 灵石. They are all 天地玄黄级, 上中下品.

Numeric 品 is now used solely for artisans (玄艺师). A country like 晟国 has at most level 5 artisans, but the level is different from top 6 countries. Level 3 is supposedly same as level 1 in the top 6 country. (This is incorrect, level should be consistent.)

Level 5 (五品) is outstanding. In 施家, you can become 馆主 (head of the art) with level 6 and 7. Level 8 (八品) is rare. It is supposed to be equivalent to 玄圣. Level 9 (九品) is super rare and is even higher in status than 玄圣. But when 蛊族 invaded, everyone who's-who is level 9.

Level 7 onwards are called 大师. Level 9 is 宗师, though they are normally still called 大师.

Just like there are too many 玄圣, there are too many 九品玄艺师. I feel they should mostly be 八品. There should only be a handful of 九品 across 16 arts.

异兽 is ranked in 阶, 一阶 to 九阶. 七阶 = 玄宗, 八阶 = 玄尊, 九阶 = 玄圣. 赤灵级 (equals to 八阶) is used twice, don't know why.

A short review of "I Just Won’t Play by the Book"

Alternate title: I Determine My Own Destiny

Chinese title: 我就是不按套路出牌

I first noticed it as an English manga. It is currently at chapter 146. I then found the Chinese manga. It is at chapter 248.

Many comics are adapted from web novels, this is no exception. The Chinese novel is already completed at 703 chapters. There is an ongoing English translation at chapter 466, but it corresponds to chapter 310.

(On the official website hosting the Chinese novel, the last chapter is 686, but the numbering is wrong. There are 703 chapters. Some websites have 707 chapters because they included 4 chapters of author's thoughts/appeal for votes.)

Manga chapter 146 corresponds to chapter 179 in the Chinese novel, chapter 248 corresponds to chapter 278 in the Chinese novel.

The premise is very simple: the protagonist 江北然 wants to be low-profile and hides behind the scene. The story starts very promising, but by mid-point, he becomes too well-known and becomes the center of attention. It reads like another story by then.

There are a few places where the story changed direction:

  • When 江北然 became Emperor of 晟国 (ch 185) and introduced modern reforms
  • When he was "invited" to 施家 as a guest (ch 341) and revealed several top-tier abilities. This arc was super long
  • When 蛊族 invaded a second time (ch 533). In this arc, he revealed almost all his cards

江北然 actually defeated 蛊族之王 quite fast (ch 606). In his closing comments, the author said he made a decision to end the book then, because the protagonist was already invincible. He was not wrong.

The author also suffered from burnout. He took a 11-months break between chapter 695 and 696. When he resumed, he quickly wrapped up the story for 祁国 and the second half of chapter 703 was a time-skip and a happily-ever-after summary.

The problem the author had, which is usual in such settings, was power escalation. He raised the stakes too high. In 蛊族's second invasion, 江北然 interacted mainly with 玄圣 and 宗师. This was power escalation to the max.

(I believe the author originally intended 玄圣 to be very rare. Supposed to have only 10+ in total. However, when 蛊族 invaded, every sect leader in the top 6 countries is a 玄圣! 潼国 alone has 20+ 玄圣.)

In this 玄龙大陆 land, there are 12 main countries, divided into 3 tiers. The top 6 countries have sects headed by 玄圣. The mid-tier countries have sects headed by 玄尊. The lowest tier countries have sects headed by 玄宗. 晟国 is ranked at the bottom.

After 江北然 became the Emperor of 晟国, the story was supposed to be how he led the country to unify the entire land. That was the story I wanted to read, but I guess the author realized it would be too slow, too political and too impossible.

In 玄龙大陆, the real power is in the hands of sects (宗派). Every country is backed by a few strong sects. They call the shots in how the country's resouces are allocated. How do you take over a country? Either you destroy the top sects or you convince them to switch to your side.

The problem is that 晟国 only has 玄宗. How can it fight with 玄尊? How long before it can groom 玄尊? Even this will just let it fight with mid-tier countries.

(In 晟国, sect leaders (宗主) are 玄皇, chiefs (堂主) are 玄王.)

Here's what I think would work better:

  • 江北然 became Emperor of 晟国 and introduced some reforms
  • He visited 施家 but did not reveal much abilities. He got a goodwill token that opened up trading opportunities
  • 晟国 offerred incentives to attract level 5+ artisans (玄艺师) to build up its industries
  • In 蛊族's second invasion, they annihilated one of the top six countries and fought the other five to a stalemate. 江北然 was not involved at all
  • 蛊族 carved up a big piece of land for themselves. They also polluted the air and many cultivators were poisoned, especially 玄尊 and above
  • 晟国 had prior experience and was much less affected. This allowed it to help/take over neighbouring countries

There was a lot of turmoil due to changes in balance of power and shifting alliances. Who said all sects would be united against 蛊族? Some saw it as an opportunity to expand their power. New battle lines are drawn.

As the saying goes, heroes rise in turbulent times.

The story of 晟国 unifying 玄龙大陆 would be an extremely long one. 江北然's story is about 晟国 navigating a safe path in a chaotic Warring States era.

Arts

There are a total of 16 arts. Each art has 9 levels. To get to level 6 and above, one needs to specialize. Level 6 is talented, level 7 is gifted, level 8 is genius and level 9 is master.

施家 could only hire level 6 - 7 artisans and had only one level 8 artisan.

Thus, nobody has mastered two or more arts at level 7 (*). Except 江北然, of course. In 蛊族's second invasion, to get all the artisans to work together, he revealed that he was talented in all arts and was at level 9 for many arts. This was, of course, game-changing.

(*) Spoiler: there is one, but she's a genius.

The moment this happened, the original premise of him wanting to stay low-profile no longer holds.

江北然 revealed his 阵法 ability very early. This should be the only one he was famous for. Even then, it should only be level 6 (publicly, that is). He could have other abilities, but they should not be high, level 3 to 4 at most (publicly). He could be one of the "new era" generalists.

What if the IBM PC has paging?

I was thinking about bankable memory when I wondered: what if we could bank the entire address space?

Wow, that's half a Memory Management Unit (MMU) there!

We insert a MMU in-between the processor (8088 or 8086) and memory. It will map the "logical" address into "physical" address.

Once we have an MMU, we are not constrained by 8086's 20-bit address space anymore. We can only access 1-MB window at a time, but there can be much more memory available.

If we use 2-bytes per page and 16 kB page size, we only need 64 entries to map 1 MB memory space. If we use 12-bits for the upper address (4-bits for other purposes), the total addressable memory is 64 MB (2^12 * 16 kB), which is pretty respectable even in the late 90s.

The total page size is 16 kB, which is still very managable.

This is even better than what the 80286 can achieve — a mere 16 MB! (Excluding its use of segmentation.)

With paging, we have complete freedom to map any address — at multiples of 16k — anywhere. We can even hide it, e.g. the pesky video memory at 0xA0000.

Why 16 kB?

Most processors opt for 4 kB page size, especially those designed in the 80s. In hindsight, it's kind of small and resulted in huge page tables. Intel introduced 2 MB pages with Pentium.

16 kB is a good sweet spot.

Why is it only half a MMU?

Note that the address translation happens without any support from the processor!

This means we are unable to handle page faults transparently. If the processor wants to read from a not-present page, we cannot tell the processor to abort the current instruction, service the page fault exception, then restart the instruction.

Accessing a not-present pages will just return 0. Writing to read-only pages will be ignored.

If we want full MMU support, we need a second processor to resolve the page fault exception while the first processor waits for the memory access to complete (the memory would appear to be super-slow).

This has been done before, just not on 8086.

Banking

We can still have "pageable" memory, just that it is not fully transparent.

Before we access a 16 kB segment, we need to 'lock' it. The MMU will then bring the segment in as needed. We 'unlock' it after use so that the MMU can discard it or swap it to disk when memory is tight.

Kernel mode

Because we can set pages to not-present, we can now achieve memory protection.

We can have "User mode" where the not-present bit takes effect, and a "Kernel mode" where pages are always present. (The kernel will use a separate map to know if the pages actually exist or not.)

To switch from user to kernel mode, we trigger an interrupt via a MMU I/O port (interrupts must be enabled on the processor). The MMU will disable checking the no-present bit and the ISR will be in kernel mode.

Before the interrupt handler returns, it enables the checking of no-present bit in the MMU, i.e. back to user mode.

This means we need to protect the interrupt table. Other programs can hook to interrupt handlers (they will run in user mode), just not to the MMU ones.

(It is best to have a separate bit for kernel/user mode, though.)

Turning paging to 11

When 64 MB is insufficient, we'll switch to 4-bytes per page and use the upper 24 bits. We get a total addressable memory of 256 GB (2^24 * 16 kB), which is better than most 32-bit processors (4 GB) [*] and somewhat competitive with 64-bit processors!

[*] Pentium Pro has 36-bit address bus that allows it to access 64 GB memory in PAE (Physical Address Extension) mode.

Even today, entry-level PC/notebooks come with 8 GB of memory and mid-end ones come with 16 GB.

However, our page table now balloons to 64 MB! :horror: But of course, we don't have to map the entire space. If we only have 16 GB memory, we only need to map that. The page table is just 4 MB.

Reimaging the CGA. What if?

The CGA is remembered for its very limited color capabilities in graphics mode. It can do:

  • 80x25 16-color text mode
  • 320x200 4-color
  • 640x200 2-color

Plus two undocumented modes:

  • 160x100 16-color
  • 160x200 16-color (composite display only)

The limitation is the 16 kB RAM. (620 x 200 / 8 = 16 kB.)

The CGA monitor takes in 4-bit TTL color inputs. It can display 16 colors in all modes. We can achieve 620x200 16-color if we have enough RAM — 62.5 kB.

64 kB was a tall order in 1981, but 32 kB was perhaps conceivable. The CGA card could ship with 16 kB and be expandable to 32 kB. However, the card has to be redesigned as it was a full-length card and it was already full of chips.

32 kB will enable 320x200 16-color, most often used by games.

Let's take a look at the CGA monitor first.

The CGA monitor

The CGA monitor has a horizontal sync rate of 15.75 kHz, meaning it scans 15,750 horiztonal lines per second.

The refresh rate is 60 Hz, so the monitor can display 262 lines per refresh. 16 of that is used for vertical retrace.

CGA uses a dot clock of 14.318 MHz, that means 909 pixels/line (14.318 MHz / 15.75 kHz). We need 80 for horizontal retrace.

The above means the biggest image we can display is 829x246. This is much higher than 640x200!

Plus, if it operated in interlaced mode (30 Hz), it could display 829x492!

(From what I read, the original CGA monitor did not interlace correctly — it did not half-offset interlaced rows.)

This is even higher resolution than the highest VGA resolution of 640x480!

So much potential gone to waste.

Can a CGA monitor really display 829 pixels horizontally?

Note that CRT does not have concept of pixel. The electron gun just sweeps across the screen and the controller "changes the colors" as required.

CRT, however, has dot-pitch, the spacing between two alike colors.

Let's say we have a 12" monitor, displayable 11" (it's usual to be smaller). The width is 8.8" or 224mm. If the dot-pitch is 0.3mm, we get a maximum of 746 resolvable dots. (There are several asterisks to this calculation.)

Generally, we do not want to exceed the maximum resolvable dots — else not all pixels show up properly.

Does CGA really waste so much resolution?

It is hard to believe, but yes. CGA has a huge overscan border whose color can be set. It was almost always noted as a "feature". On VGA, the border is just 1 character wide.

It did not dawn to me until now that the CGA must still be actively "drawing" the overscan borders.

If you calculate the difference between 829x246 and 640x200, the horizontal borders are 94 pixels on each side and the vertical borders are 23 pixels on each side.

80x25 text mode

The 80x25 text mode was so ingrained that it remained unchanged until we switched to using graphics mode (i.e. Windows 3.1). Even then, windowed consoles default to 80x25.

CGA could support maybe 29 rows? EGA supports 43 rows and VGA 50 rows by using 8x8 fonts. But they never took off.

Columns-wise, a holy grail was 132 columns. EGA could not do it, but I vaguely recall VGA could (as could some Super EGA cards). But 90 or 100-columns should be within reach.

80-columns was a holdover from punch card days and there was no reason to stick to it. We still suffer from it even today — some coding standards limit line length to 80-columns! I'm old-fashioned but I have to say this is too archaic. :lol:

If CGA could support variable text mode (*), programs would need to query the screen size and handle accordingly.

(*) Not counting 40x25 since that was intended for composite displays (aka TVs).

4-color palette?

The 320x200 4-color mode has a choice of two palettes, plus intensity. There is also an "undocumented" palette, so altogether three choices:

Mode 4

Palette 0:

IRGBColor
0010Green
0100Red
0110Brown
1010Bright Green
1100Bright Red
1110Yellow

Palette 1:

IRGBColor
0011Cyan
0101Magenta
0111White
1011Bright Cyan
1101Bright Magenta
1111Bright White

Mode 5

IRGBColor
001-Cyan
010-Red
011-White
101-Bright Cyan
110-Bright Red
111-Bright White

0 is normally black, but it is really the "overscan" color. In 320x200 graphics mode, the overscan color is used for the background color. In 640x200 graphics mode, it is used as the foreground color.

The first question on everyone's mind was, could IBM have put in some palette system so that we could choose any 4 out of 16 colors?

They could (with additional h/w), but ultimately, 4 colors is too few (plus CGA resolution is too coarse to dither). We need at least 8 colors.

In an alternate universe, the CGA could support:

  • 320x200 4-colors with 16 kB (default)
  • 320x200 8-colors with 24 kB (8 kB expansion RAM)
  • 320x200 16-colors with 32 kB (16 kB expansion RAM)

With 32 kB of RAM, the CGA could do 640x200 4-colors and we have the same palette problem again. :-P

VBLANK interrupt

VBLANK interrupt was left out of CGA. This is very useful to know when to flip pages, for example, for double-buffering.

CGA does not have enough memory for two pages in graphics mode, though.

EGA has VBLANK interrupt, but it was not well documented and the functionality never caught on (in a standard way).

The CGA snow

The CGA is also infamous for its "snow" during 80x25 text mode. In this mode, there is not enough bandwidth for both CPU and screen refresh, so if the CPU wants to update the active video buffer, the screen "glitches" as it draws random bits (why can't it be zero?).

The workaround is to update the active video buffer only on horz sync or vertical sync. Obviously this makes screen updating very slow.

Another way is to blank the screen. The BIOS does this when it wants to scroll the page.

Yet another way is to use page flipping. The VBLANK interrupt would have been useful here.

I don't understand why the CGA controller cannot tell the CPU to wait. The CPU should be able to access the video buffer 7 out of every 8 pixels. For the last one, it needs to wait for the CGA controller to read two bytes. It cannot be that long, can it?

Reimaging the IBM PC. What if?

The IBM PC had several "mistakes" other than the 640 kB memory barrier. Of course, this is in hindsight.

IRQ lines

One common lament is the lack of IRQs or IRQ conflicts. The IBM PC has 8 IRQ lines, the AT increases it to 15.

0System timer
1Keyboard controller
2
3COM2
4COM1
5LPT2
6Floppy disk controller
7LPT1

If your PC is fully decked out, you only have one IRQ line left — IRQ 2. But generally people only have one printer (LPT1) and perhaps one modem (COM1), so LPT2 and COM2 are free.

Each device (that can generate interrupt) needs its own IRQ line because they cannot be shared. This is the main issue. What if they can be shared?

First, it should be possible to share IRQs for like-devices. LPT1/LPT2 and COM1/COM2 can use just one IRQ line. The ISR must poll all four of them. If this was done, then there would be 4 free IRQs.

Also, the Keyboard Controller has very low interrupt rate (at most 15 chars/s), so it can be shared with the above.

The IRQ assignment could look like this:

0System timer
1
2
3Keyboard Controller/COM1/COM2
4LPT1/LPT2
5
6Floppy disk controller
7

We don't even need 7 new IRQ lines on AT:

0System timer/RTC
1
2
3Keyboard Controller/Mouse/COM1/COM2
4LPT1/LPT2
5
6Disk controller (Floppy, HDD pri/sec)
7FP unit

Edge vs level triggering

The reason why IRQ lines cannot be shared is because IBM chose to use edge-triggered interrupts. If two devices raise the same interrupt at the same time, the ISR does not know which one triggered it.

If IBM had chosen to use level-triggered interrupts, the device would hold the interrupt line high. This allows the ISR to know which device triggered it.

DMA channels

The IBM PC has 4 8-bit DMA channels, the AT increases it to 7 (the new ones are 16-bit). Unlike IRQ lines, there is no contention because few devices use DMA (or at least system DMA). On the IBM PC:

0Memory refresh
1
2Floppy drive
3HDD

To be useful, DMA must out-perform the processor for 16-bit transfers. (Hint: on the AT, it doesn't.)

Bus speed

The expansion bus runs at the same speed as the CPU. This was not an issue on the IBM AT which topped out at 8 MHz. But later when IBM AT-compatibles increased the speed to 12 MHz, expansion cards start to fail.

The solution was to fix the bus speed to 8 MHz.

This was not IBM's fault. By this time, it has moved to its new patented MCA bus for its PS/2 line.

The AT bus has a theoretical bandwidth of 5.33 MB/s (8 MHz * 16-bits / 3 clocks/transfer). However, the data must go somewhere, say memory, so that takes another 2 - 3 cycles plus wait states, plus instruction execution time, so the max is around 1.78 MB/s.

This severely throttled performance of video games graphical applications in the early 90s. To refresh 320x200 256-colors at 60 Hz, we need a bandwidth of 3.66 MB/s.

Even with hindsight, it is difficult to create a PC bus that is forward-looking. It has to support:

PCAT38664-bit
Year1981198419872003
Data88/168/16/328/16/32/64
Address20243248
Speed4.77 MHz8 MHz8 MHz
Sys speed/n
Sys speed/n
AsyncNNYY
Bus masteringNNYY
Plug-n-PlayNNYY

Instead of fixing the bus speed to 8 MHz, there should be options to run the bus at a divisor of system speed, e.g. /1 to /4. This is especially useful for video cards when system speed goes above 20 MHz. Most other cards can run at system speed /2 or /3. It would be even better if this were configurable per slot!

(The fastest system speed was 40 MHz, IIRC. CPUs ran with a multiplier, e.g. the 486DX2-66 ran at 66 MHz with system speed of 33 MHz.)

INT 13h disk addressing

From the late 80s to late 90s, there were a lot of confusion on disk limits: 504 MB, 2 GB, 8 GB and 128 GB. If your HDD exceeded one of these sizes, you better make sure your BIOS supported it.

(There are other limits — imposed by DOS due to FAT format.)

How did these limits come about?

INT 13h Disk Services specify the sector using CHS addressing (Cylinder-Head-Sector).

CHSSize
BIOS1024255 (*)637.84 GB
ATA1024162562 GB
Effective10241663504 MB

(*) The limit should be 256, but DOS will not boot up.

This is the first limit: 504 MB.

Once your disk exceeds 504 MB, you need a BIOS that translates "logical" CHS to physical CHS. This allows disks up to 2 GB to be used. But the IDE Cylinder register is a 16-bit register, so we can go much bigger:

CHSSize
BIOS (logical)1024255637.84 GB
IDE6553616256128 GB

Now we are limited by the BIOS interface of 7.84 GB.

INT 13h Extensions used 64-bit LBA (Logical Block Addressing). At the device level, it is either 28-bits (128 GB) or 48-bits (128 PB).

There is really no advantage of LBA-28 over P-CHS except it is simpler.

We have long exceeded 128 GB, but it'll take some time to hit 128 PB. Disk sizes today are 1 - 8 TB.

I rambled so long that I forgot what I was going to say.

The original INT 13h Disk Services use three 8-bit registers for a total of 24-bits, that's why we have the 7.84 GB limit.

There are two changes we can make:

  • use two 16-bit registers
  • use >512 bytes/sector

It was unfortunate that 512 bytes/sector was so ingrained that it could not be changed even after 2 decades!

Sector sizeDisk size
512 bytes2 TB
2 kB8 TB
4 kB16 TB

Async disk access

The IBM AT BIOS has support for async disk access, but I doubt anyone took advantage of it. Not DOS, certainly.

The 640 kB barrier

Ah, the infamous 640 kB memory limit that plagued PC programmers for one and a half decade. :lol:

IBM carved up the 1 MB addressable memory into three parts:

  • Memory (640 kB) [0x00000 to 0x9FFFF]
  • Video memory (128 kB) [0xA0000 to 0xBFFFF]
  • ROM (256 kB) [0xC0000 to 0xFFFFF]

The first PC was shipped with either 16 kB or 64 kB memory. 640 kB was 10x that. Later, they were shipped with 256 kB on-board memory and a 384 kB memory expansion board was offered.

The MDA (Monochrome Display Adapter) has 4 kB video memory at 0xB0000. The CGA (Color Graphics Adapter) has 16 kB video memory at 0xB8000. In other words, from day 1, it was only possible to increase contiguous memory by 64 kB (to 0xAFFFF).

The EGA (Enhanced Graphics Adapter) was introduced in 1984 and has 64 kB video memory at 0xA0000 (in graphics mode). By then, the possibility to increase contiguous memory closed forever.

How can things be different in an alternate universe?

Large ROM space

The first "mistake" was the large space — four 64 kB segments — reserved for ROM. The last segment 0xF0000 was reserved for system BIOS, the first three segments (192 kB) were for expansion ROMs. The assumption was that some (most?) expansion cards would come with ROM. It turned out that only two were needed: video and hard disk. Everything else could be loaded as drivers.

The system BIOS scans for expansion ROMs starting from 0xC0000 in 2 kB intervals to 0xEF800 (best not to use 0xF0000).

EGA has 16 kB ROM (at address 0xC0000) to extend system video BIOS. If it kept 100% CGA compatibility, the system BIOS could control it and the extended functionality be put in a driver.

Alternate memory map:

  • System ROM (32 kB) [0xF8000 to 0xFFFFF]
  • Expansion ROM (64 kB) [0xE8000 to 0xF7FFF]
  • Video memory (32 kB) [0xE0000 to 0xE7FFF]
  • Memory (896 kB) [0x00000 to 0xDFFFF]

This gives an additional contiguous 256 kB.

Fixed video memory address

The second "mistake" was the fixed video memory address.

EGA needed 28,000 bytes in its highest resolution 640x350 graphics mode (each pixel is 1-bit due to planar mode).

VGA (Video Graphics Array), introduced in 1987, needed 38,400 bytes in 640x480 mode, (again, planar mode) and a whopping 64,000 bytes in its 320x200 256-color mode.

There are two possible ways:

  • Make the base address selectable using DIP switch
  • Make the buffer bankable

The second one can free up the entire video memory space if there is no need to access video memory.

Revised memory map:

  • System ROM (16 kB) [0xFC000 to 0xFFFFF]
  • Expansion ROM (48 kB) [0xF0000 to 0xFBFFF]
  • Bankable memory (64 kB) [0xE0000 to 0xEFFFF]
  • Memory (896 kB) [0x00000 to 0xDFFFF]

The maxmium memory remains the same, but now we have a more general-purpose bankable memory segment that can be used for Expanded Memory (EMS), for example.

Meet the 896 kB limit

After we overcome the 640 kB limit, we now have a new limit of 896 kB, or if we squeeze a little more, 960 kB. But if you need >640 kB (*), you probably need a lot more — 1 to 2 MB, not a measly 256 kB. It is unavoidable to use either EMS (Expanded Memory) or XMS (Extended Memory).

(*) By the time DOS and standard drivers are loaded, you have around 530 kB to 580 kB of free memory (IIRC).

Conversely, if we need to shrink the program to make it work in 896 kB, we can probably shrink it even more to fit in 640 kB, perhaps even in 256 kB — widely considered to be the minimum memory configuration.